aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/dwc3/gadget.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index eaeea8ff5191..b82a8885747d 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -1550,7 +1550,10 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
1550 goto out0; 1550 goto out0;
1551 1551
1552 dwc3_gadget_move_cancelled_request(req); 1552 dwc3_gadget_move_cancelled_request(req);
1553 goto out0; 1553 if (dep->flags & DWC3_EP_TRANSFER_STARTED)
1554 goto out0;
1555 else
1556 goto out1;
1554 } 1557 }
1555 dev_err(dwc->dev, "request %pK was not queued to %s\n", 1558 dev_err(dwc->dev, "request %pK was not queued to %s\n",
1556 request, ep->name); 1559 request, ep->name);
@@ -1558,6 +1561,7 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
1558 goto out0; 1561 goto out0;
1559 } 1562 }
1560 1563
1564out1:
1561 dwc3_gadget_giveback(dep, req, -ECONNRESET); 1565 dwc3_gadget_giveback(dep, req, -ECONNRESET);
1562 1566
1563out0: 1567out0: