libpayload: Adjust timeout in EHCI driver
Tested with a bunch of usb flash sticks. The slowest non-TUR (test unit ready) turn around took about 1.3s, so this commit increases the timeout to 2s. Change-Id: Iec64b5cc48d51912b2bdeeebb5885399a71311b2 Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: http://review.coreboot.org/1120 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
@ -169,11 +169,15 @@ static int wait_for_tds(qtd_t *head)
|
|||||||
if (0) dump_td(virt_to_phys(cur));
|
if (0) dump_td(virt_to_phys(cur));
|
||||||
|
|
||||||
/* wait for results */
|
/* wait for results */
|
||||||
/* TOTEST: how long to wait?
|
/* how long to wait?
|
||||||
* tested with some USB2.0 flash sticks:
|
* tested with some USB2.0 flash sticks:
|
||||||
* slowest took around 180ms
|
* TUR turn around took
|
||||||
|
* about 2s for the slowest (14cd:121c)
|
||||||
|
* max. 250ms for the others
|
||||||
|
* slowest non-TUR turn around took about 1.3s
|
||||||
|
* try 2s for now as a failed TUR is not fatal
|
||||||
*/
|
*/
|
||||||
int timeout = 10000; /* time out after 10000 * 50us == 500ms */
|
int timeout = 40000; /* time out after 40000 * 50us == 2s */
|
||||||
while ((cur->token & QTD_ACTIVE) && !(cur->token & QTD_HALTED)
|
while ((cur->token & QTD_ACTIVE) && !(cur->token & QTD_HALTED)
|
||||||
&& timeout--)
|
&& timeout--)
|
||||||
udelay(50);
|
udelay(50);
|
||||||
|
Reference in New Issue
Block a user