Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Aug 2016 19:32:50 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r304629 - head/sys/dev/usb/controller
Message-ID:  <201608221932.u7MJWoRd082690@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



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