| From | Greg Kroah-Hartman <> | Subject | [PATCH 5.3 050/180] usb: dwc3: gadget: Clear started flag for non-IOC | Date | Mon, 16 Dec 2019 18:48:10 +0100 |
| |
From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
commit d3abda5a98a18e524e17fd4085c9f4bd53e9ef53 upstream.
Normally the END_TRANSFER command completion handler will clear the DWC3_EP_TRANSFER_STARTED flag. However, if the command was sent without interrupt on completion, then the flag will not be cleared. Make sure to clear the flag in this case.
Cc: stable@vger.kernel.org Signed-off-by: Thinh Nguyen <thinhn@synopsys.com> Signed-off-by: Felipe Balbi <balbi@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- drivers/usb/dwc3/gadget.c | 3 +++ 1 file changed, 3 insertions(+)
--- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -2699,6 +2699,9 @@ static void dwc3_stop_active_transfer(st WARN_ON_ONCE(ret); dep->resource_index = 0; + if (!interrupt) + dep->flags &= ~DWC3_EP_TRANSFER_STARTED; + if (dwc3_is_usb31(dwc) || dwc->revision < DWC3_REVISION_310A) udelay(100); }
|