Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Jul 2014 10:51:20 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r268088 - head/sys/dev/mps
Message-ID:  <201407011051.s61ApKO0005710@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: scottl
Date: Tue Jul  1 10:51:20 2014
New Revision: 268088
URL: http://svnweb.freebsd.org/changeset/base/268088

Log:
  Don't overload the CCB status field within the driver.
  
  Obtained from:	Netflix, Inc.
  MFC after:	2 days

Modified:
  head/sys/dev/mps/mps_sas.c

Modified: head/sys/dev/mps/mps_sas.c
==============================================================================
--- head/sys/dev/mps/mps_sas.c	Tue Jul  1 09:21:32 2014	(r268087)
+++ head/sys/dev/mps/mps_sas.c	Tue Jul  1 10:51:20 2014	(r268088)
@@ -1852,7 +1852,7 @@ mpssas_action_scsiio(struct mpssas_softc
 	 * the I/O to the IR volume itself.
 	 */
 	if (sc->WD_valid_config) {
-		if (mpssas_get_ccbstatus(ccb) != MPS_WD_RETRY) {
+		if (ccb->ccb_h.sim_priv.entries[0].field == MPS_WD_RETRY) {
 			mpssas_direct_drive_io(sassc, cm, ccb);
 		} else {
 			mpssas_set_ccbstatus(ccb, CAM_REQ_INPROG);
@@ -2219,10 +2219,11 @@ mpssas_scsiio_complete(struct mps_softc 
 	 */
 	if (cm->cm_flags & MPS_CM_FLAGS_DD_IO) {
 		mps_free_command(sc, cm);
-		mpssas_set_ccbstatus(ccb, MPS_WD_RETRY);
+		ccb->ccb_h.sim_priv.entries[0].field = MPS_WD_RETRY;
 		mpssas_action_scsiio(sassc, ccb);
 		return;
-	}
+	} else
+		ccb->ccb_h.sim_priv.entries[0].field = 0;
 
 	switch (le16toh(rep->IOCStatus) & MPI2_IOCSTATUS_MASK) {
 	case MPI2_IOCSTATUS_SCSI_DATA_UNDERRUN:



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