diff options
author | ian <ian@FreeBSD.org> | 2014-05-14 18:25:13 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2014-05-14 18:25:13 +0000 |
commit | 9e6ff9cd8c9d75c84e35d396dd9595b3ec4b947f (patch) | |
tree | 4052705103efb8fd7ad19d2d674f0c14e1b8acc2 /sys/dev/ahci | |
parent | 0fce07b314e30ad58f2ceca66ff72537964c8b06 (diff) | |
download | FreeBSD-src-9e6ff9cd8c9d75c84e35d396dd9595b3ec4b947f.zip FreeBSD-src-9e6ff9cd8c9d75c84e35d396dd9595b3ec4b947f.tar.gz |
MFC r260161, r260163, r260165, r260166, r260189
Add polarity and level support to ARM GIC
Do not attach to PCI bridges in AHCI driver
Use only mapped BIOs on ARM
Fix race condition in DELAY for SP804 timer.
Diffstat (limited to 'sys/dev/ahci')
-rw-r--r-- | sys/dev/ahci/ahci.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c index 1224153..df504c0 100644 --- a/sys/dev/ahci/ahci.c +++ b/sys/dev/ahci/ahci.c @@ -376,6 +376,13 @@ ahci_probe(device_t dev) uint32_t devid = pci_get_devid(dev); uint8_t revid = pci_get_revid(dev); + /* + * Ensure it is not a PCI bridge (some vendors use + * the same PID and VID in PCI bridge and AHCI cards). + */ + if (pci_get_class(dev) == PCIC_BRIDGE) + return (ENXIO); + /* Is this a possible AHCI candidate? */ if (pci_get_class(dev) == PCIC_STORAGE && pci_get_subclass(dev) == PCIS_STORAGE_SATA && |