linux/drivers/usb/dwc3
Felipe Balbi 0b93a4c838 usb: dwc3: fix TRB completion when multiple TRBs are started
After commit 2ec2a8be (usb: dwc3: gadget:
always enable IOC on bulk/interrupt transfers)
we created a situation where it was possible to
hang a bulk/interrupt endpoint if we had more
than one pending request in our queue and they
were both started with a single Start Transfer
command.

The problems triggers because we had not enabled
Transfer In Progress event for those endpoints
and we were not able to process early giveback
of requests completed without LST bit set.

Fix the problem by finally enabling Xfer In Progress
event for all endpoint types, except control.

Fixes: 2ec2a8be (usb: dwc3: gadget: always
	enable IOC on bulk/interrupt transfers)
Cc: <stable@vger.kernel.org> # v3.14+
Reported-by: Pratyush Anand <pratyush.anand@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2014-09-05 09:16:55 -05:00
..
core.c usb: dwc3: core: fix ordering for PHY suspend 2014-09-03 16:50:44 -05:00
core.h usb: dwc3: add support for USB 2.0-only core configuration 2014-06-30 12:28:08 -05:00
debug.h usb: dwc3: switch to GPL v2 only 2013-07-29 13:56:44 +03:00
debugfs.c usb: dwc3: switch to GPL v2 only 2013-07-29 13:56:44 +03:00
dwc3-exynos.c usb: dwc3: no need to initialize ret variable 2014-05-15 10:26:21 -05:00
dwc3-keystone.c usb: dwc3: add Keystone specific glue layer 2013-12-12 13:43:07 -06:00
dwc3-omap.c usb: dwc3: omap: fix ordering for runtime pm calls 2014-09-03 16:50:44 -05:00
dwc3-pci.c usb: dwc3: convert to pcim_enable_device() 2014-05-15 10:26:38 -05:00
ep0.c usb: dwc3: fix implementation of endpoint wedge 2013-11-25 10:56:45 -06:00
gadget.c usb: dwc3: fix TRB completion when multiple TRBs are started 2014-09-05 09:16:55 -05:00
gadget.h usb: dwc3: fix randconfig build errors 2014-03-05 14:40:04 -06:00
host.c dwc3: host: Enable USB3 LPM capability 2014-07-09 15:41:34 -07:00
io.h usb: dwc3: switch to GPL v2 only 2013-07-29 13:56:44 +03:00
Kconfig dwc3: host: Enable USB3 LPM capability 2014-07-09 15:41:34 -07:00
Makefile usb: dwc3: add Keystone specific glue layer 2013-12-12 13:43:07 -06:00
platform_data.h usb: dwc3: adapt to use dr_mode device tree helper 2013-07-29 13:56:51 +03:00