diff options
| -rw-r--r-- | drivers/usb/dwc3/gadget.c | 6 |
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 | ||
| 1564 | out1: | ||
| 1561 | dwc3_gadget_giveback(dep, req, -ECONNRESET); | 1565 | dwc3_gadget_giveback(dep, req, -ECONNRESET); |
| 1562 | 1566 | ||
| 1563 | out0: | 1567 | out0: |
