]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
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)
committerKhalid Elmously <khalid.elmously@canonical.com>
Sat, 8 Aug 2020 05:53:12 +0000 (01:53 -0400)
commit887dcf0a3f14e67b4159559215db9e116028454e
treef0301f7b1a9430d44327bb6c756f776143aef361
parenta1a4367bae36958c2cab86f0f660e908fa8ec7b8
usb: dwc3: gadget: Properly handle failed kick_transfer

BugLink: https://bugs.launchpad.net/bugs/1885322
[ Upstream commit 8d99087c2db863c5fa3a4a1f3cb82b3a493705ca ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/usb/dwc3/gadget.c