summaryrefslogtreecommitdiffstats
path: root/sys/dev/aic7xxx
diff options
context:
space:
mode:
authorachim <achim@FreeBSD.org>2015-06-05 11:37:54 +0000
committerachim <achim@FreeBSD.org>2015-06-05 11:37:54 +0000
commitdf54c1443627bc8b3c5f4fdf67a854e3de095af7 (patch)
tree4ab5b4709342b732759c7652d24430be203255cf /sys/dev/aic7xxx
parent80a30c32240407f05e4f3876f95285f49a4172c9 (diff)
downloadFreeBSD-src-df54c1443627bc8b3c5f4fdf67a854e3de095af7.zip
FreeBSD-src-df54c1443627bc8b3c5f4fdf67a854e3de095af7.tar.gz
aic7xxx: Do not support device IDs 0x8081, 0x8088 and 0x8089 to avoid
conflicts with the new PMC Adaptec controller families supported by aacraid
Diffstat (limited to 'sys/dev/aic7xxx')
-rw-r--r--sys/dev/aic7xxx/aic79xx_pci.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/aic7xxx/aic79xx_pci.c b/sys/dev/aic7xxx/aic79xx_pci.c
index cb2dbc3..0b8ca40 100644
--- a/sys/dev/aic7xxx/aic79xx_pci.c
+++ b/sys/dev/aic7xxx/aic79xx_pci.c
@@ -93,6 +93,11 @@ ahd_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor)
#define ID_AIC7902_PCI_REV_A4 0x3
#define ID_AIC7902_PCI_REV_B0 0x10
#define SUBID_HP 0x0E11
+#define DEVICE8081 0x8081
+#define DEVICE8088 0x8088
+#define DEVICE8089 0x8089
+#define ADAPTECVENDORID 0x9005
+#define SUBVENDOR9005 0x9005
#define DEVID_9005_HOSTRAID(id) ((id) & 0x80)
@@ -292,6 +297,15 @@ ahd_find_pci_device(aic_dev_softc_t pci)
device = aic_pci_read_config(pci, PCIR_DEVICE, /*bytes*/2);
subvendor = aic_pci_read_config(pci, PCIR_SUBVEND_0, /*bytes*/2);
subdevice = aic_pci_read_config(pci, PCIR_SUBDEV_0, /*bytes*/2);
+
+ if ((vendor == ADAPTECVENDORID) && (subvendor == SUBVENDOR9005)) {
+ if ((device == DEVICE8081) || (device == DEVICE8088) ||
+ (device == DEVICE8089)) {
+ printf("Controller device ID conflict with PMC Adaptec HBA\n");
+ return (NULL);
+ }
+ }
+
full_id = ahd_compose_id(device,
vendor,
subdevice,
OpenPOWER on IntegriCloud