u-boot-brain/drivers/usb
Stephen Warren 8aac6e9c53 usb: ci_udc: set ep->req.actual after transfer
At least drivers/usb/gadget/storage_common.c expects that ep->req.actual
contain the number of bytes actually transferred. (At least in practice,
I observed it failing to work correctly unless this was the case).

However, ci_udc.c modifies ep->req.length instead. I assume that .length
 is supposed to represent the allocated buffer size, whereas .actual is
supposed to represent the actual number of bytes transferred. In the OUT
transaction case, this may happen simply because the host sends a smaller
 packet than the max possible size, which is quite legal. In the IN case,
transferring fewer bytes than requested could presumably happen as an
error.

Modify handle_ep_complete() to write to .actual rather than modifying
.length.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-04-30 10:30:57 +02:00
..
eth usb: net: introduce support for Moschip USB ethernet 2014-03-12 17:04:31 -04:00
gadget usb: ci_udc: set ep->req.actual after transfer 2014-04-30 10:30:57 +02:00
host exynos: usb: Fix data abort on boards w/o vbus-gpio node in the DT 2014-04-30 10:30:57 +02:00
musb usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
musb-new usb: musb: fill in usb_gadget_unregister_driver 2014-04-30 10:30:57 +02:00
phy drivers: usb: convert makefiles to Kbuild style 2013-10-31 13:25:38 -04:00
ulpi drivers: usb: convert makefiles to Kbuild style 2013-10-31 13:25:38 -04:00