Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Sep 2006 13:12:46 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 105586 for review
Message-ID:  <200609031312.k83DCkCc099609@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=105586

Change 105586 by hselasky@hselasky_mini_itx on 2006/09/03 13:12:11

	Improve ata-usb reset timeout recovery.

Affected files ...

.. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#4 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/ata/ata-usb.c#4 (text) ====

@@ -544,10 +544,6 @@
     return;
 
  tr_setup:
-    if (sc->reset_count >= 16) {
-        device_printf(sc->dev, "timeout: giving up reset!\n");
-	return;
-    }
 
     sc->reset_count ++;
 
@@ -916,9 +912,20 @@
 			  sc->last_xfer_no);
 	}
 
-	/* start reset before any callback */
+	if (sc->reset_count < 16) {
+
+	    /* start reset before any callback */
+
+	    atausb_transfer_start(sc, ATAUSB_T_BBB_RESET1);
+	} else {
+
+	    /* suspend reset until next command */
+
+	    sc->last_xfer_no = ATAUSB_T_BBB_RESET1;
+	    sc->reset_count = 0;
 
-	atausb_transfer_start(sc, ATAUSB_T_BBB_RESET1);
+	    device_printf(sc->dev, "timeout: giving up reset!\n");
+	}
     }
 
     if (request) {



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