coreboot-kgpe-d16/payloads/libpayload/drivers
Julius Werner e8a8a00342 libpayload: usb: dwc2: Always return 'size' transferred bytes for OUT
Seems like our transferred bytes calculation for OUT transfers that span
more than one packet had been wrong, and we just got lucky that we never
noticed it before. The HCTSIZ.xfersize register field we're reading only
counts bytes transferred by the last packet we sent.

OUT endpoints cannot have short transfers -- every transfer should
either finish all bytes we wanted to send or end in a proper error
condition. Therefore, in the absence of an error we can just conclude
that all input bytes have been transferred.

BRANCH=veyron
BUG=chrome-os-partner:35525
TEST=SMSC95xx netboot on Jerry now works.

Change-Id: I57349e697c428df6b56e2f6f62e87652ef1e7a94
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Original-Commit-Id: 0abee13b6d89dec12c6fff581ece1836393c7703
Original-Change-Id: Id0a127e6919f5786ba05218277705dda1067b8c3
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/293956
Original-Reviewed-by: yunzhi li <lyz@rock-chips.com>
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/11404
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-08-28 06:46:19 +00:00
..
serial libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
storage libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
timer Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
udc license headers: Drop FSF addresses again 2015-08-09 17:49:13 +02:00
usb libpayload: usb: dwc2: Always return 'size' transferred bytes for OUT 2015-08-28 06:46:19 +00:00
video libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
Makefile.inc libpayload: add UDC driver for Designware controller 2015-06-30 08:09:49 +02:00
cbmem_console.c libpayload: console: Allow output drivers to print whole strings at once 2014-12-22 21:44:37 +01:00
hid.c Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
keyboard.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
nvram.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
options.c libpayload/options: Fix out of array read. 2014-01-19 11:51:23 +01:00
pci.c Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
serial.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
speaker.c Fix libpayload speaker driver 2011-10-27 10:49:41 +02:00