svn commit: r186296 - head/sys/dev/ata/chipsets
Niclas Zeising
niclas.zeising at gmail.com
Thu Dec 18 21:45:35 UTC 2008
Alexander Motin wrote:
> Author: mav
> Date: Thu Dec 18 21:13:46 2008
> New Revision: 186296
> URL: http://svn.freebsd.org/changeset/base/186296
>
> Log:
> Before modularization commit, atapci driver was attaching only to devices of
> storage class. This check was lost. It is not important for the most cases,
> but as it was reported on current@, it does important for sis driver and
> surely inportant for AHCI driver. So restore it there.
>
> Submitted by: Toshikazu ICHINOSEKI, Andrey V. Elsukov
> Discussed on: current@
>
> Modified:
> head/sys/dev/ata/chipsets/ata-ahci.c
> head/sys/dev/ata/chipsets/ata-sis.c
>
> Modified: head/sys/dev/ata/chipsets/ata-ahci.c
> ==============================================================================
> --- head/sys/dev/ata/chipsets/ata-ahci.c Thu Dec 18 21:04:50 2008 (r186295)
> +++ head/sys/dev/ata/chipsets/ata-ahci.c Thu Dec 18 21:13:46 2008 (r186296)
> @@ -73,8 +73,9 @@ ata_ahci_probe(device_t dev)
> char buffer[64];
>
> /* is this a possible AHCI candidate ? */
> - if (pci_get_subclass(dev) != PCIS_STORAGE_SATA)
> - return ENXIO;
> + if (pci_get_class(dev) != PCIC_STORAGE ||
> + pci_get_subclass(dev) != PCIS_STORAGE_SATA)
> + return (ENXIO);
>
> /* is this PCI device flagged as an AHCI compliant chip ? */
> if (pci_read_config(dev, PCIR_PROGIF, 1) != PCIP_STORAGE_SATA_AHCI_1_0)
>
> Modified: head/sys/dev/ata/chipsets/ata-sis.c
> ==============================================================================
> --- head/sys/dev/ata/chipsets/ata-sis.c Thu Dec 18 21:04:50 2008 (r186295)
> +++ head/sys/dev/ata/chipsets/ata-sis.c Thu Dec 18 21:13:46 2008 (r186296)
> @@ -105,6 +105,9 @@ ata_sis_probe(device_t dev)
> char buffer[64];
> int found = 0;
>
> + if (pci_get_class(dev) != PCIC_STORAGE)
> + return (ENXIO);
> +
> if (pci_get_vendor(dev) != ATA_SIS_ID)
> return ENXIO;
>
With this change, am I able to boot from a harddrive located on a
SiS-controller again? Or is that more likely a different issue?
I have't investigated my issue properly due to lack of time, so I don't
know exactly what's wrong, only that it can't find the hard drive properly.
Regards!
//Niclas
More information about the svn-src-all
mailing list