svn commit: r247279 - head/sys/dev/ciss

Sean Bruno sbruno at FreeBSD.org
Mon Feb 25 19:22:57 UTC 2013


Author: sbruno
Date: Mon Feb 25 19:22:56 2013
New Revision: 247279
URL: http://svnweb.freebsd.org/changeset/base/247279

Log:
  The 5300 series ciss(4) board does not work in performant mode with our
  currnet initialization sequence.  Set it to simple mode only so that
  systems can be updated from stable/7 to newer installations.
  
  At some point, we should figure out why we cannot initialize performant
  mode on this board.
  
  PR:		kern/153361
  Reviewed by:	scottl
  Obtained from:	Yahoo! Inc.
  MFC after:	2 weeks

Modified:
  head/sys/dev/ciss/ciss.c

Modified: head/sys/dev/ciss/ciss.c
==============================================================================
--- head/sys/dev/ciss/ciss.c	Mon Feb 25 19:14:06 2013	(r247278)
+++ head/sys/dev/ciss/ciss.c	Mon Feb 25 19:22:56 2013	(r247279)
@@ -282,6 +282,7 @@ TUNABLE_INT("hw.ciss.force_interrupt", &
 #define CISS_BOARD_SA5		1
 #define CISS_BOARD_SA5B		2
 #define CISS_BOARD_NOMSI	(1<<4)
+#define CISS_BOARD_SIMPLE       (1<<5)
 
 static struct
 {
@@ -290,7 +291,8 @@ static struct
     int		flags;
     char	*desc;
 } ciss_vendor_data[] = {
-    { 0x0e11, 0x4070, CISS_BOARD_SA5|CISS_BOARD_NOMSI,	"Compaq Smart Array 5300" },
+    { 0x0e11, 0x4070, CISS_BOARD_SA5|CISS_BOARD_NOMSI|CISS_BOARD_SIMPLE,
+                                                        "Compaq Smart Array 5300" },
     { 0x0e11, 0x4080, CISS_BOARD_SA5B|CISS_BOARD_NOMSI,	"Compaq Smart Array 5i" },
     { 0x0e11, 0x4082, CISS_BOARD_SA5B|CISS_BOARD_NOMSI,	"Compaq Smart Array 532" },
     { 0x0e11, 0x4083, CISS_BOARD_SA5B|CISS_BOARD_NOMSI,	"HP Smart Array 5312" },
@@ -682,8 +684,15 @@ ciss_init_pci(struct ciss_softc *sc)
 	supported_methods = CISS_TRANSPORT_METHOD_PERF;
 	break;
     default:
-	supported_methods = sc->ciss_cfg->supported_methods;
-	break;
+        /*
+         * Override the capabilities of the BOARD and specify SIMPLE
+         * MODE 
+         */
+        if (ciss_vendor_data[i].flags & CISS_BOARD_SIMPLE)
+                supported_methods = CISS_TRANSPORT_METHOD_SIMPLE;
+        else
+                supported_methods = sc->ciss_cfg->supported_methods;
+        break;
     }
 
 setup:


More information about the svn-src-all mailing list