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-head mailing list