Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jan 2009 17:12:34 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 156706 for review
Message-ID:  <200901261712.n0QHCYYd054028@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help

http://perforce.freebsd.org/chv.cgi?CH=156706

Change 156706 by hselasky@hselasky_laptop001 on 2009/01/26 17:11:48

	
	Adjust an UHCI portreset delay.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#25 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#25 (text+ko) ====

@@ -2431,12 +2431,16 @@
 	x = URWMASK(UREAD2(sc, port));
 	UWRITE2(sc, port, x & ~UHCI_PORTSC_PR);
 
-	if (use_polling) {
-		/* polling */
-		DELAY(1000);
-	} else {
-		usb2_pause_mtx(&sc->sc_bus.bus_mtx, 1);
-	}
+
+	mtx_unlock(&sc->sc_bus.bus_mtx);
+
+	/* 
+	 * This delay needs to be exactly 100us, else some USB devices
+	 * fail to attach!
+	 */
+	DELAY(100);
+
+	mtx_lock(&sc->sc_bus.bus_mtx);
 
 	DPRINTFN(4, "uhci port %d reset, status1 = 0x%04x\n",
 	    index, UREAD2(sc, port));



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