linux/drivers/usb/dwc3
Felipe Balbi 36f84ffb45 usb: dwc3: ep0: fix Data Phase for transfer sizes aligned to wMaxPacketSize
According to Section 8.5.3.2 of the USB 2.0 specification,
a USB device must terminate a Data Phase with either a
short packet or a ZLP (if the previous transfer was
a multiple of wMaxPacketSize).

For reference, here's what the USB 2.0 specification, section
8.5.3.2 says:

"
8.5.3.2 Variable-length Data Stage

A control pipe may have a variable-length data phase
in which the host requests more data than is contained
in the specified data structure. When all of the data
structure is returned to the host, the function should
indicate that the Data stage is ended by returning a
packet that is shorter than the MaxPacketSize for the
pipe. If the data structure is an exact multiple of
wMaxPacketSize for the pipe, the function will return
a zero-length packet to indicate the end of the Data
stage.
"

Signed-off-by: Felipe Balbi <balbi@ti.com>
2014-10-23 09:55:35 -05:00
..
core.c Linux 3.17-rc5 2014-09-16 09:53:59 -05:00
core.h usb: dwc3: add tracepoints to aid debugging 2014-09-05 09:55:51 -05:00
debug.c usb: dwc3: add tracepoints to aid debugging 2014-09-05 09:55:51 -05:00
debug.h usb: dwc3: add tracepoints to aid debugging 2014-09-05 09:55:51 -05:00
debugfs.c usb: dwc3: switch to GPL v2 only 2013-07-29 13:56:44 +03:00
dwc3-exynos.c usb: dwc3: remove unnecessary OOM messages 2014-08-20 12:14:45 -05:00
dwc3-keystone.c USB: Remove .owner field for driver 2014-09-28 21:55:10 -04:00
dwc3-omap.c Linux 3.17-rc5 2014-09-16 09:53:59 -05:00
dwc3-pci.c usb: dwc3: pci: Add PCI ID for Intel Braswell 2014-10-20 15:58:49 -05:00
dwc3-qcom.c USB: Remove .owner field for driver 2014-09-28 21:55:10 -04:00
dwc3-st.c usb: dwc3: add ST dwc3 glue layer to manage dwc3 HC 2014-09-05 10:49:00 -05:00
ep0.c usb: dwc3: ep0: fix Data Phase for transfer sizes aligned to wMaxPacketSize 2014-10-23 09:55:35 -05:00
gadget.c usb: dwc3: gadget: fix set_halt() bug with pending transfers 2014-10-20 15:58:48 -05:00
gadget.h usb: dwc3: gadget: fix set_halt() bug with pending transfers 2014-10-20 15:58:48 -05:00
host.c dwc3: host: Enable USB3 LPM capability 2014-07-09 15:41:34 -07:00
io.h usb: dwc3: add tracepoints to aid debugging 2014-09-05 09:55:51 -05:00
Kconfig usb: dwc3: Add Qualcomm DWC3 glue layer driver 2014-09-12 15:43:48 -05:00
Makefile usb: dwc3: Add Qualcomm DWC3 glue layer driver 2014-09-12 15:43:48 -05:00
platform_data.h usb: dwc3: adapt to use dr_mode device tree helper 2013-07-29 13:56:51 +03:00
trace.c usb: dwc3: add tracepoints to aid debugging 2014-09-05 09:55:51 -05:00
trace.h usb: dwc3: trace: don't dereference pointers 2014-10-20 15:58:48 -05:00