xhci->quirks |= XHCI_BROKEN_PORT_PED;
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -1969,10 +1969,12 @@ static int finish_td(struct xhci_hcd *xh
+@@ -1972,10 +1972,12 @@ static int finish_td(struct xhci_hcd *xh
union xhci_trb *ep_trb, struct xhci_transfer_event *event,
struct xhci_virt_ep *ep, int *status)
{
u32 trb_comp_code;
int ep_index;
-@@ -1995,14 +1997,30 @@ static int finish_td(struct xhci_hcd *xh
+@@ -1998,14 +2000,30 @@ static int finish_td(struct xhci_hcd *xh
if (trb_comp_code == COMP_STALL_ERROR ||
xhci_requires_manual_halt_cleanup(xhci, ep_ctx,
trb_comp_code)) {