svn commit: r284176 - stable/10/sys/dev/aic7xxx

Achim Leubner achim at FreeBSD.org
Tue Jun 9 11:40:31 UTC 2015


Author: achim
Date: Tue Jun  9 11:40:30 2015
New Revision: 284176
URL: https://svnweb.freebsd.org/changeset/base/284176

Log:
  MFC r284022: Avoid ID conflict

Modified:
  stable/10/sys/dev/aic7xxx/aic79xx_pci.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/aic7xxx/aic79xx_pci.c
==============================================================================
--- stable/10/sys/dev/aic7xxx/aic79xx_pci.c	Tue Jun  9 10:49:40 2015	(r284175)
+++ stable/10/sys/dev/aic7xxx/aic79xx_pci.c	Tue Jun  9 11:40:30 2015	(r284176)
@@ -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