summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-09-22 15:06:26 +0000
committermav <mav@FreeBSD.org>2015-09-22 15:06:26 +0000
commit9f82cdd4bf55acb3a0b45ed2b0d53bc848b8704e (patch)
tree63f8964cf34ec8c30de21e2f7ee3291c996511c8
parent35d91751bdd087d482b6fab9795decfe63a71b1b (diff)
downloadFreeBSD-src-9f82cdd4bf55acb3a0b45ed2b0d53bc848b8704e.zip
FreeBSD-src-9f82cdd4bf55acb3a0b45ed2b0d53bc848b8704e.tar.gz
Allow AHCI driver attach to all known chips reporting RAID class.
Reported by: Michael BlackHeart <amdmiek@gmail.com> MFC after: 1 week
-rw-r--r--sys/dev/ahci/ahci_pci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ahci/ahci_pci.c b/sys/dev/ahci/ahci_pci.c
index a8f49a1..5c236ce 100644
--- a/sys/dev/ahci/ahci_pci.c
+++ b/sys/dev/ahci/ahci_pci.c
@@ -327,6 +327,9 @@ ahci_probe(device_t dev)
pci_get_subclass(dev) == PCIS_STORAGE_SATA &&
pci_get_progif(dev) == PCIP_STORAGE_SATA_AHCI_1_0)
valid = 1;
+ else if (pci_get_class(dev) == PCIC_STORAGE &&
+ pci_get_subclass(dev) == PCIS_STORAGE_RAID)
+ valid = 2;
/* Is this a known AHCI chip? */
for (i = 0; ahci_ids[i].id != 0; i++) {
if (ahci_ids[i].id == devid &&
@@ -343,7 +346,7 @@ ahci_probe(device_t dev)
return (BUS_PROBE_DEFAULT);
}
}
- if (!valid)
+ if (valid != 1)
return (ENXIO);
device_set_desc_copy(dev, "AHCI SATA controller");
return (BUS_PROBE_DEFAULT);
OpenPOWER on IntegriCloud