svn commit: r189210 - stable/7/sys/cam

Scott Long scottl at FreeBSD.org
Sat Feb 28 22:46:40 PST 2009


Author: scottl
Date: Sun Mar  1 06:46:39 2009
New Revision: 189210
URL: http://svn.freebsd.org/changeset/base/189210

Log:
  Merge r186891: Retry TEST UNIT READY if needed.

Modified:
  stable/7/sys/cam/cam_xpt.c   (contents, props changed)

Modified: stable/7/sys/cam/cam_xpt.c
==============================================================================
--- stable/7/sys/cam/cam_xpt.c	Sun Mar  1 06:27:03 2009	(r189209)
+++ stable/7/sys/cam/cam_xpt.c	Sun Mar  1 06:46:39 2009	(r189210)
@@ -5652,7 +5652,7 @@ probestart(struct cam_periph *periph, un
 	case PROBE_DV_EXIT:
 	{
 		scsi_test_unit_ready(csio,
-				     /*retries*/4,
+				     /*retries*/10,
 				     probedone,
 				     MSG_SIMPLE_Q_TAG,
 				     SSD_FULL_SIZE,
@@ -6259,6 +6259,13 @@ probedone(struct cam_periph *periph, uni
 		break;
 	}
 	case PROBE_TUR_FOR_NEGOTIATION:
+		if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
+			DELAY(500000);
+			if (cam_periph_error(done_ccb, 0, SF_RETRY_UA,
+			    NULL) == ERESTART)
+				return;
+		}
+	/* FALLTHROUGH */
 	case PROBE_DV_EXIT:
 		if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) {
 			/* Don't wedge the queue */


More information about the svn-src-all mailing list