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:
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to