svn commit: r304629 - head/sys/dev/usb/controller

Hans Petter Selasky hselasky at FreeBSD.org
Mon Aug 22 19:32:51 UTC 2016


Author: hselasky
Date: Mon Aug 22 19:32:50 2016
New Revision: 304629
URL: https://svnweb.freebsd.org/changeset/base/304629

Log:
  Don't separate the status stage of the XHCI USB control transfers into
  its own job because this breaks the simplified QEMU XHCI TRB parser,
  which expects the complete USB control transfer as a series of back to
  back TRBs. The old behaviour is kept under #ifdef in case this change
  breaks enumeration of any USB devices.
  
  PR:		212021
  MFC after:	1 week

Modified:
  head/sys/dev/usb/controller/xhci.c

Modified: head/sys/dev/usb/controller/xhci.c
==============================================================================
--- head/sys/dev/usb/controller/xhci.c	Mon Aug 22 19:28:54 2016	(r304628)
+++ head/sys/dev/usb/controller/xhci.c	Mon Aug 22 19:32:50 2016	(r304629)
@@ -2221,7 +2221,11 @@ xhci_setup_generic_chain(struct usb_xfer
 		 * Send a DATA1 message and invert the current
 		 * endpoint direction.
 		 */
+#ifdef XHCI_STEP_STATUS_STAGE
 		temp.step_td = (xfer->nframes != 0);
+#else
+		temp.step_td = 0;
+#endif
 		temp.direction = UE_GET_DIR(xfer->endpointno) ^ UE_DIR_IN;
 		temp.len = 0;
 		temp.pc = NULL;


More information about the svn-src-head mailing list