PERFORCE change 182098 for review

Hans Petter Selasky hselasky at skunkworks.freebsd.org
Wed Aug 11 18:26:48 UTC 2010


http://p4web.freebsd.org/@@182098?ac=10

Change 182098 by hselasky at hselasky_laptop001 on 2010/08/08 19:22:10

	
	USB controller (XHCI):
		- make sure we don't claim done until the STATUS
		stage is complete for control transactions or the
		next packet for isochronous transfers.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#20 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/controller/xhci.c#20 (text+ko) ====

@@ -563,7 +563,8 @@
 		/* Check for short transfer */
 		if (len > 0) {
 			if (xfer->flags_int.short_frames_ok || 
-			    xfer->flags_int.isochronous_xfr) {
+			    xfer->flags_int.isochronous_xfr ||
+			    xfer->flags_int.control_xfr) {
 				/* follow alt next */
 				td = td->alt_next;
 			} else {
@@ -738,8 +739,10 @@
 			 */
 			if (td->remainder > 0) {
 				DPRINTF("TD has short pkt\n");
-				if (xfer->flags_int.short_frames_ok) {
-					/* follow alt next */
+				if (xfer->flags_int.short_frames_ok ||
+				    xfer->flags_int.isochronous_xfr ||
+				    xfer->flags_int.control_xfr) {
+					/* try to follow follow alt next */
 					if (td->alt_next != NULL) {
 						xfer->td_transfer_cache = td->alt_next;
 						break;


More information about the p4-projects mailing list