Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Feb 2009 23:34:55 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 157618 for review
Message-ID:  <200902122334.n1CNYthM036917@repoman.freebsd.org>

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

Change 157618 by hselasky@hselasky_laptop001 on 2009/02/12 23:34:24

	
	USB WLAN: Re-introduce fix for failing control transfers after
	firmware load. Repeat the transfer until a) detach or b) success.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#41 edit
.. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#40 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#41 (text+ko) ====

@@ -588,14 +588,15 @@
     struct usb2_device_request *req, void *data)
 {
 	usb2_error_t err;
-
+retry:
 	err = usb2_do_request_proc(sc->sc_udev, &sc->sc_tq, 
-	   req, data, 0, NULL, 1000 /* ms */);
+	   req, data, 0, NULL, 250 /* ms */);
 
 	if (err) {
 		DPRINTFN(1, "Control request failed, "
 		    "%s! (ignored)\n", usb2_errstr(err));
-		rum_pause(sc, hz / 100);
+		if ((sc->sc_ifp != NULL) && (!rum_pause(sc, hz / 100)))
+			goto retry;
 	}
 	return (err);
 }

==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#40 (text+ko) ====

@@ -579,13 +579,15 @@
     struct usb2_device_request *req, void *data)
 {
 	usb2_error_t err;
-
+retry:
 	err = usb2_do_request_proc(sc->sc_udev, &sc->sc_tq, 
-	   req, data, 0, NULL, 1000 /* ms */);
+	   req, data, 0, NULL, 250 /* ms */);
 
 	if (err) {
-		DPRINTFN(1, "Control request failed! (ignored)\n");
-		ural_pause(sc, hz / 100);
+		DPRINTFN(1, "Control request failed, "
+		    "%s! (ignored)\n", usb2_errstr(err));
+		if ((sc->sc_ifp != NULL) && (!ural_pause(sc, hz / 100)))
+			goto retry;
 	}
 }
 



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