while (ep_ring->dequeue != td->last_trb)
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1604,14 +1604,38 @@ int xhci_urb_dequeue(struct usb_hcd *hcd
+@@ -1609,14 +1609,38 @@ int xhci_urb_dequeue(struct usb_hcd *hcd
ret = -ENOMEM;
goto done;
}