drivers/kitprog: workaround KitProg firmware bug of missing ZLP
authorTomas Vanek <vanekt@fbl.cz>
Wed, 21 Feb 2018 21:19:58 +0000 (22:19 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Wed, 4 Apr 2018 20:26:59 +0000 (21:26 +0100)
commit7829bb701f1d9b294c627142911529ca34a1120b
treebca4a31e3a78104d04bcada718bd6b3e4105ed83
parenta28dea0fe429339e4f8d356fbff19cb17350c9ca
drivers/kitprog: workaround KitProg firmware bug of missing ZLP

KitProg firmware does not send a zero length packet at the end of the bulk-in
transmission of a length divisible by a bulk packet size. This is inconsistent
with the USB specification and results in jtag_libusb_bulk_read()
waits forever when a transmission of specific size is received.

Limit bulk read size to expected number of bytes for problematic tranfer sizes.
Use 1 second timeout as the last resort.

Change-Id: Ice80306424afd76e9fbc6851911ffd5109c84501
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/4426
Tested-by: jenkins
Reviewed-by: Bohdan Tymkiv <bhdt@cypress.com>
src/jtag/drivers/kitprog.c