Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Mar 2009 06:46:39 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r189210 - stable/7/sys/cam
Message-ID:  <200903010646.n216kdfW033447@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 */



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