aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2009-11-26 08:29:02 +0000
committerAlexander Motin <mav@FreeBSD.org>2009-11-26 08:29:02 +0000
commit70f426fe84a3eaf3825d03ac9c2eb75235127839 (patch)
tree4205653c259f2b505b32a881b2b54a777a2cd061 /sys/dev
parentf6b36bbd8a490fec1ca3e84349e40b7d0b7d66cb (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ahci/ahci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c
index 2d21c0506e10..459aa64a4654 100644
--- a/sys/dev/ahci/ahci.c
+++ b/sys/dev/ahci/ahci.c
@@ -254,6 +254,10 @@ ahci_probe(device_t dev)
for (i = 0; ahci_ids[i].id != 0; i++) {
if (ahci_ids[i].id == devid &&
(valid || !(ahci_ids[i].quirks & AHCI_Q_NOFORCE))) {
+ /* Do not attach JMicrons with single PCI function. */
+ if (pci_get_vendor(dev) == 0x197b &&
+ (pci_read_config(dev, 0xdf, 1) & 0x40) == 0)
+ return (ENXIO);
snprintf(buf, sizeof(buf), "%s AHCI SATA controller",
ahci_ids[i].name);
device_set_desc_copy(dev, buf);