diff mbox

[v2] usb: dwc2: host: do not delay retries after successful transfer

Message ID 20180717201010.175491-1-dianders@chromium.org (mailing list archive)
State New, archived
Headers show

Commit Message

Douglas Anderson July 17, 2018, 8:10 p.m. UTC
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>

When handling split transactions we should not be delaying retrying
SSPLIT/CSPLIT after we successfully communicate with the device, so
let's reset dtd->num_naks counter when handling XFERCOMPL.

Fixes: 38d2b5fb75c1 ("usb: dwc2: host: Don't retry NAKed transactions right away")
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

Changes in v2:
- Move clearing num_naks to the start to avoid use after free

 drivers/usb/dwc2/hcd_intr.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/drivers/usb/dwc2/hcd_intr.c b/drivers/usb/dwc2/hcd_intr.c
index 8ce10caf3e19..4e1953b2955e 100644
--- a/drivers/usb/dwc2/hcd_intr.c
+++ b/drivers/usb/dwc2/hcd_intr.c
@@ -994,6 +994,8 @@  static void dwc2_hc_xfercomp_intr(struct dwc2_hsotg *hsotg,
 	int pipe_type;
 	int urb_xfer_done;
 
+	qtd->num_naks = 0;
+
 	if (dbg_hc(chan))
 		dev_vdbg(hsotg->dev,
 			 "--Host Channel %d Interrupt: Transfer Complete--\n",