usb: dwc3: gadget: Properly handle failed kick_transfer
authorThinh Nguyen <Thinh.Nguyen@synopsys.com>
Sun, 29 Mar 2020 23:12:57 +0000 (16:12 -0700)
committerFelipe Balbi <balbi@kernel.org>
Tue, 5 May 2020 08:00:12 +0000 (11:00 +0300)
commit8d99087c2db863c5fa3a4a1f3cb82b3a493705ca
tree6fe8af6a962a7c262584825cc7b1a0284c4f6ca8
parent8bb14308a86970a2321ac7d0e28ea0f1f1e744b0
usb: dwc3: gadget: Properly handle failed kick_transfer

If dwc3 fails to issue START_TRANSFER/UPDATE_TRANSFER command, then we
should properly end an active transfer and give back all the started
requests. However if it's for an isoc endpoint, the failure maybe due to
bus-expiry status. In this case, don't give back the requests and wait
for the next retry.

Fixes: 72246da40f37 ("usb: Introduce DesignWare USB3 DRD Driver")
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/gadget.c