|
|
@@ -1400,7 +1400,10 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
|
|
|
goto out0;
|
|
|
|
|
|
dwc3_gadget_move_cancelled_request(req);
|
|
|
- goto out0;
|
|
|
+ if (dep->flags & DWC3_EP_TRANSFER_STARTED)
|
|
|
+ goto out0;
|
|
|
+ else
|
|
|
+ goto out1;
|
|
|
}
|
|
|
dev_err(dwc->dev, "request %pK was not queued to %s\n",
|
|
|
request, ep->name);
|
|
|
@@ -1408,6 +1411,7 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
|
|
|
goto out0;
|
|
|
}
|
|
|
|
|
|
+out1:
|
|
|
dwc3_gadget_giveback(dep, req, -ECONNRESET);
|
|
|
|
|
|
out0:
|