linux/drivers/usb/dwc3
Felipe Balbi 68d3e668d2 usb: dwc3: ep0: fix for possible early delayed_status
There is a very small possibility (previously unimagined
by us) that the whole Mass Storage delayed status happens
rather early, before we even get our XferNotReady event.

In that case, we will be queueing a request to ep0 while
we're still on Setup Phase and we would be waiting for
another usb_ep_queue() forever.

Handle such cases by clearing dwc->delayed_status so that
we start control status from the next XferNotReady like
there was no wait for Delayed Status.

Tested against Linux 3.2-rc3 and USB30CV tool from USB-IF
(on a Windows XP with USB3 PCIe card).

Signed-off-by: Felipe Balbi <balbi@ti.com>
2011-12-12 11:48:47 +02:00
..
core.c usb: dwc3: use correct hwparam register for power mgm check 2011-12-12 11:48:44 +02:00
core.h usb: dwc3: gadget: fix stream enable bit 2011-12-12 11:48:47 +02:00
debug.h usb: dwc: remove "All rights reserved" statement. 2011-10-04 10:25:52 -07:00
debugfs.c usb: dwc3: fix sparse errors 2011-12-12 11:48:29 +02:00
dwc3-omap.c usb: dwc3: omap: move to module_platform_driver 2011-12-12 11:48:43 +02:00
dwc3-pci.c usb: dwc3: move dwc3 device ID bitmap to core.c 2011-12-12 11:48:21 +02:00
ep0.c usb: dwc3: ep0: fix for possible early delayed_status 2011-12-12 11:48:47 +02:00
gadget.c usb: dwc3: gadget: fix stream enable bit 2011-12-12 11:48:47 +02:00
gadget.h usb: dwc3: ep0: use dwc3_request for ep0 requsts instead of usb_request 2011-12-12 11:48:45 +02:00
host.c usb: dwc3: host: remove unused includes 2011-12-12 11:48:19 +02:00
io.h usb: dwc3: fix few coding style problems 2011-12-12 11:48:29 +02:00
Kconfig usb: dwc3: depend on both Host and Gadget stacks 2011-12-12 11:48:14 +02:00
Makefile usb: dwc3: always compile gadget side too 2011-12-12 11:48:13 +02:00