Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Apr 2012 20:42:46 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r233886 - head/sys/dev/mpt
Message-ID:  <201204042042.q34KgkR2024118@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Wed Apr  4 20:42:45 2012
New Revision: 233886
URL: http://svn.freebsd.org/changeset/base/233886

Log:
  Refine r233827; as it turns out, controllers with a device ID of 0x0059
  can be upgraded to MegaRAID mode, in which case mfi(4) should attach to
  these based on the sub-vendor and -device ID instead (not currently done).
  Therefore, let mpt_pci_probe() return BUS_PROBE_LOW_PRIORITY.
  While it, let mpt_pci_probe() return BUS_PROBE_DEFAULT instead of 0 in
  the default case.
  
  MFC after:	3 days

Modified:
  head/sys/dev/mpt/mpt_pci.c

Modified: head/sys/dev/mpt/mpt_pci.c
==============================================================================
--- head/sys/dev/mpt/mpt_pci.c	Wed Apr  4 20:42:32 2012	(r233885)
+++ head/sys/dev/mpt/mpt_pci.c	Wed Apr  4 20:42:45 2012	(r233886)
@@ -187,10 +187,12 @@ static int
 mpt_pci_probe(device_t dev)
 {
 	const char *desc;
+	int rval;
 
 	if (pci_get_vendor(dev) != MPI_MANUFACTPAGE_VENDORID_LSILOGIC)
 		return (ENXIO);
 
+	rval = BUS_PROBE_DEFAULT;
 	switch (pci_get_device(dev)) {
 	case MPI_MANUFACTPAGE_DEVICEID_FC909_FB:
 		desc = "LSILogic FC909 FC Adapter";
@@ -232,6 +234,13 @@ mpt_pci_probe(device_t dev)
 	case MPI_MANUFACTPAGE_DEVID_53C1030ZC:
 		desc = "LSILogic 1030 Ultra4 Adapter";
 		break;
+	case MPI_MANUFACTPAGE_DEVID_SAS1068E_FB:
+		/*
+		 * Allow mfi(4) to claim this device in case it's in MegaRAID
+		 * mode.
+		 */
+		rval = BUS_PROBE_LOW_PRIORITY;
+		/* FALLTHROUGH */
 	case MPI_MANUFACTPAGE_DEVID_SAS1064:
 	case MPI_MANUFACTPAGE_DEVID_SAS1064A:
 	case MPI_MANUFACTPAGE_DEVID_SAS1064E:
@@ -240,7 +249,6 @@ mpt_pci_probe(device_t dev)
 	case MPI_MANUFACTPAGE_DEVID_SAS1068:
 	case MPI_MANUFACTPAGE_DEVID_SAS1068A_FB:
 	case MPI_MANUFACTPAGE_DEVID_SAS1068E:
-	case MPI_MANUFACTPAGE_DEVID_SAS1068E_FB:
 	case MPI_MANUFACTPAGE_DEVID_SAS1078:
 	case MPI_MANUFACTPAGE_DEVID_SAS1078DE_FB:
 		desc = "LSILogic SAS/SATA Adapter";
@@ -250,7 +258,7 @@ mpt_pci_probe(device_t dev)
 	}
 
 	device_set_desc(dev, desc);
-	return (0);
+	return (rval);
 }
 
 #if	__FreeBSD_version < 500000  



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204042042.q34KgkR2024118>