svn commit: r284022 - head/sys/dev/aic7xxx

Achim Leubner achim at FreeBSD.org
Fri Jun 5 11:37:55 UTC 2015


Author: achim
Date: Fri Jun  5 11:37:54 2015
New Revision: 284022
URL: https://svnweb.freebsd.org/changeset/base/284022

Log:
  aic7xxx: Do not support device IDs 0x8081, 0x8088 and 0x8089 to avoid
  conflicts with the new PMC Adaptec controller families supported by aacraid

Modified:
  head/sys/dev/aic7xxx/aic79xx_pci.c

Modified: head/sys/dev/aic7xxx/aic79xx_pci.c
==============================================================================
--- head/sys/dev/aic7xxx/aic79xx_pci.c	Fri Jun  5 08:36:25 2015	(r284021)
+++ head/sys/dev/aic7xxx/aic79xx_pci.c	Fri Jun  5 11:37:54 2015	(r284022)
@@ -93,6 +93,11 @@ ahd_compose_id(u_int device, u_int vendo
 #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,


More information about the svn-src-all mailing list