Guest User

Untitled

a guest
Aug 18th, 2020
38
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c
  2. index d48ba2720530..75d579b22f8a 100644
  3. --- a/sys/dev/usb/controller/xhci.c
  4. +++ b/sys/dev/usb/controller/xhci.c
  5. @@ -2931,7 +2931,8 @@ xhci_transfer_insert(struct usb_xfer *xfer)
  6.  
  7.         /* check if bMaxPacketSize changed */
  8.         if (xfer->flags_int.control_xfr != 0 &&
  9. -           pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) {
  10. +           pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0] &&
  11. +           xfer->endpoint->edesc->bEndpointAddress != 0) {
  12.  
  13.                 DPRINTFN(8, "Reconfigure control endpoint\n");
  14.  
  15. @@ -3937,6 +3938,11 @@ xhci_configure_msg(struct usb_proc_msg *pm)
  16.                 pepext = xhci_get_endpoint_ext(xfer->xroot->udev,
  17.                     xfer->endpoint->edesc);
  18.  
  19. +               if (xfer->endpoint->edesc->bEndpointAddress == 0) {
  20. +                       pepext->trb_running = 1;
  21. +                       pepext->trb_halted = 0;
  22. +               }
  23. +
  24.                 if ((pepext->trb_halted != 0) ||
  25.                     (pepext->trb_running == 0)) {
RAW Paste Data