summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMayank Rana <mrana@codeaurora.org>2015-09-28 20:01:21 -0700
committerHemant Kumar <hemantk@codeaurora.org>2016-09-12 15:43:55 -0700
commitef529d5647ef2d4fe7f004d78b41e365dbe55178 (patch)
tree8eb223f991ebf0a8c2dd98e5939a843930769a8e
parent9c8924dbaadbb194f6d0bf30fa7fafde20ec096c (diff)
Revert "usb: dwc3: fix TRB completion when multiple TRBs are started"
commit 0b93a4c838fa ("usb: dwc3: fix TRB completion when multiple TRBs are started") enables XFERINPROGRESS event with all endpoint type except control endpoint. Currently we are not using XFERINPROGRESS for queuing next request and depends on XFERNOTREADY event only. Change-Id: I833c2311c5af48fd15f2813df9cc83c3471c4f94 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
-rw-r--r--drivers/usb/dwc3/gadget.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index d90df256796c..3d96a8bef5f0 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -539,7 +539,7 @@ static int dwc3_gadget_set_ep_config(struct dwc3 *dwc, struct dwc3_ep *dep,
dep->stream_capable = true;
}
- if (!usb_endpoint_xfer_control(desc))
+ if (usb_endpoint_xfer_isoc(desc))
params.param1 |= DWC3_DEPCFG_XFER_IN_PROGRESS_EN;
/*
@@ -2564,6 +2564,12 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
break;
case DWC3_DEPEVT_XFERINPROGRESS:
dep->dbg_ep_events.xferinprogress++;
+ if (!usb_endpoint_xfer_isoc(dep->endpoint.desc)) {
+ dev_dbg(dwc->dev, "%s is not an Isochronous endpoint\n",
+ dep->name);
+ return;
+ }
+
dwc3_endpoint_transfer_complete(dwc, dep, event);
break;
case DWC3_DEPEVT_XFERNOTREADY: