linux/drivers/usb/dwc3
Felipe Balbi 2b3a58058b usb: dwc3: fix TRB completion when multiple TRBs are started
commit 0b93a4c838 upstream.

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)
Reported-by: Pratyush Anand <pratyush.anand@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2014-10-05 13:41:06 -07:00
..
core.c usb: dwc3: core: fix ordering for PHY suspend 2014-10-05 13:40:59 -07:00
core.h usb: dwc3: adapt dwc3 core to use Generic PHY Framework 2014-03-05 14:40:05 -06: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-10-05 13:40:59 -07: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-10-05 13:41:06 -07:00
gadget.h usb: dwc3: fix randconfig build errors 2014-03-05 14:40:04 -06:00
host.c usb: dwc3: switch to GPL v2 only 2013-07-29 13:56:44 +03:00
io.h usb: dwc3: switch to GPL v2 only 2013-07-29 13:56:44 +03:00
Kconfig usb: dwc3: dwc3-omap: Fix the crash on module removal 2014-06-19 10:06:28 -05: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