Author: hselasky
Date: Mon Aug 29 08:54:31 2016
New Revision: 305000
URL: https://svnweb.freebsd.org/changeset/base/305000

Log:
  MFC r304629:
  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

Modified:
  stable/9/sys/dev/usb/controller/xhci.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/dev/usb/controller/xhci.c
==============================================================================
--- stable/9/sys/dev/usb/controller/xhci.c      Mon Aug 29 08:52:53 2016        
(r304999)
+++ stable/9/sys/dev/usb/controller/xhci.c      Mon Aug 29 08:54:31 2016        
(r305000)
@@ -2206,7 +2206,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;
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to