From cb56c97d7c4a2131d3cd251219935dad863b2b34 Mon Sep 17 00:00:00 2001 From: Anurag Kumar Vulisha Date: Sat, 1 Dec 2018 16:43:27 +0530 Subject: [PATCH] UPSTREAM: usb: dwc3: don't issue no-op trb for stream capable endpoints The stream capable endpoints require stream id to be given when issuing START TRANSFER. While issuing no-op trb the stream id is not yet known, so don't issue no-op trb's on stream capable endpoints. Change-Id: I0e4f3759f4ca9d2b9d06542a498fa3b01002e7c6 Signed-off-by: Anurag Kumar Vulisha Signed-off-by: Felipe Balbi Signed-off-by: William Wu (cherry picked from commit 26d62b4d10ad54622cd16b4871ee635f0ee287b6) --- drivers/usb/dwc3/gadget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 8a11e9366da8..bbf45b6835e7 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -662,7 +662,7 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep, unsigned int action) * Issue StartTransfer here with no-op TRB so we can always rely on No * Response Update Transfer command. */ - if (usb_endpoint_xfer_bulk(desc) || + if ((usb_endpoint_xfer_bulk(desc) && !dep->stream_capable) || usb_endpoint_xfer_int(desc)) { struct dwc3_gadget_ep_cmd_params params; struct dwc3_trb *trb;