summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3
diff options
context:
space:
mode:
authorFelipe Balbi <felipe.balbi@linux.intel.com>2018-03-26 13:26:00 +0300
committerFelipe Balbi <felipe.balbi@linux.intel.com>2018-05-21 10:00:48 +0300
commit38408464aa7646e4d7b345a70951f968af35af0a (patch)
tree3a5425fb6a0c0b999856a60e27274d508f9a7f7d /drivers/usb/dwc3
parent52fcc0bead0fd5e56dc07f17010e5d6da2306ddf (diff)
usb: dwc3: gadget: XferNotReady is Isoc-only
We don't use XferNotReady for anything other than Default Control Pipe, which is handled in ep0.c, and Isochronous endpoints. Let's make that clear in the code. Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r--drivers/usb/dwc3/gadget.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 36fabdeb0856..22c0822cf310 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2533,11 +2533,13 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
dwc3_endpoint_transfer_complete(dwc, dep, event);
break;
case DWC3_DEPEVT_XFERNOTREADY:
- if (usb_endpoint_xfer_isoc(dep->endpoint.desc))
- dwc3_gadget_start_isoc(dwc, dep, event);
- else
- __dwc3_gadget_kick_transfer(dep);
+ if (!usb_endpoint_xfer_isoc(dep->endpoint.desc)) {
+ dev_err(dwc->dev, "XferNotReady for non-Isoc %s\n",
+ dep->name);
+ return;
+ }
+ dwc3_gadget_start_isoc(dwc, dep, event);
break;
case DWC3_DEPEVT_STREAMEVT:
if (!usb_endpoint_xfer_bulk(dep->endpoint.desc)) {