summaryrefslogtreecommitdiffstats
path: root/sys/dev/ahci
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-05-14 18:25:13 +0000
committerian <ian@FreeBSD.org>2014-05-14 18:25:13 +0000
commit9e6ff9cd8c9d75c84e35d396dd9595b3ec4b947f (patch)
tree4052705103efb8fd7ad19d2d674f0c14e1b8acc2 /sys/dev/ahci
parent0fce07b314e30ad58f2ceca66ff72537964c8b06 (diff)
downloadFreeBSD-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.c7
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 &&
OpenPOWER on IntegriCloud