]> git.baikalelectronics.ru Git - kernel.git/commit
dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg()
authorJohn Stultz <john.stultz@linaro.org>
Mon, 4 May 2020 23:12:15 +0000 (23:12 +0000)
committerFelipe Balbi <balbi@kernel.org>
Sat, 9 May 2020 08:04:49 +0000 (11:04 +0300)
commitd0df9c9930af1d0e32fff924252aea18e5d2491c
tree37c50228cc028e23fbb5ab92cdab2b093d8f4f6b
parenteee26827fa59daf22cb208b79538df77d10e5874
dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg()

The check for the HWO flag in dwc3_gadget_ep_reclaim_trb_sg()
causes us to break out of the loop before we call
dwc3_gadget_ep_reclaim_completed_trb(), which is what likely
should be clearing the HWO flag.

This can cause odd behavior where we never reclaim all the trbs
in the sg list, so we never call giveback on a usb req, and that
will causes transfer stalls.

This effectively resovles the adb stalls seen on HiKey960
after userland changes started only using AIO in adbd.

Cc: YongQin Liu <yongqin.liu@linaro.org>
Cc: Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Cc: Yang Fei <fei.yang@intel.com>
Cc: Thinh Nguyen <thinhn@synopsys.com>
Cc: Tejas Joglekar <tejas.joglekar@synopsys.com>
Cc: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: Josh Gao <jmgao@google.com>
Cc: Todd Kjos <tkjos@google.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Cc: stable@vger.kernel.org #4.20+
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/gadget.c