diff options
author | mav <mav@FreeBSD.org> | 2015-09-22 15:06:26 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-09-22 15:06:26 +0000 |
commit | 9f82cdd4bf55acb3a0b45ed2b0d53bc848b8704e (patch) | |
tree | 63f8964cf34ec8c30de21e2f7ee3291c996511c8 | |
parent | 35d91751bdd087d482b6fab9795decfe63a71b1b (diff) | |
download | FreeBSD-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.c | 5 |
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); |