linux/drivers/usb/dwc3
Felipe Balbi fffe033fef usb: dwc3: gadget: don't clear EP_BUSY too early
commit e18b7975c8 upstream.

In case of non-Isochronous transfers, we don't
want to clear DWC3_EP_BUSY flag until XferComplete
event. That's because XferInProgress was only enabled
so we can recycle TRBs and usb_requests quicker, but
there are still other pending requests being transferred.

In order to make sure we don't allow for another StartTransfer
command while the HW is still processing other transfers,
we must keep DWC3_EP_BUSY flag set and this what this patch
does.

Fixes: f3af36511e (usb: dwc3: gadget: always enable IOC on
	bulk/interrupt transfers)
Reported-by: sundeep subbaraya <sundeep.lkml@gmail.com>
Tested-by: sundeep subbaraya <sundeep.lkml@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-07-15 10:00:14 +01:00
..
core.c usb: dwc3: core: fix ordering for PHY suspend 2014-10-05 13:40:59 -07:00
core.h usb: dwc3: gadget: Fix incorrect DEPCMD and DGCMD status macros 2015-06-11 11:24:57 +01: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: dwc3-omap: Fix disable IRQ 2015-03-18 14:41:51 +00:00
dwc3-pci.c usb: dwc3: convert to pcim_enable_device() 2014-05-15 10:26:38 -05:00
ep0.c usb: dwc3: gadget: fix set_halt() bug with pending transfers 2014-11-13 11:48:31 +00:00
gadget.c usb: dwc3: gadget: don't clear EP_BUSY too early 2015-07-15 10:00:14 +01:00
gadget.h usb: dwc3: gadget: fix set_halt() bug with pending transfers 2014-11-13 11:48:31 +00: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