[coreboot] New patch to review for coreboot: 2135803 libpayload: Adjust timeout in EHCI driver

Nico Huber (nico.huber@secunet.com) gerrit at coreboot.org
Wed Jun 20 17:36:35 CEST 2012


Nico Huber (nico.huber at secunet.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1120

-gerrit

commit 2135803937676a68fba0a6ccaba9424874b454ff
Author: Nico Huber <nico.huber at secunet.com>
Date:   Fri Jun 1 08:54:29 2012 +0200

    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 at secunet.com>
---
 payloads/libpayload/drivers/usb/ehci.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/payloads/libpayload/drivers/usb/ehci.c b/payloads/libpayload/drivers/usb/ehci.c
index 1094c78..9e17571 100644
--- a/payloads/libpayload/drivers/usb/ehci.c
+++ b/payloads/libpayload/drivers/usb/ehci.c
@@ -169,11 +169,15 @@ static int wait_for_tds(qtd_t *head)
 		if (0) dump_td(virt_to_phys(cur));
 
 		/* wait for results */
-		/* TOTEST: how long to wait?
-		 *         tested with some USB2.0 flash sticks:
-		 *         slowest took around 180ms
+		/* how long to wait?
+		 * tested with some USB2.0 flash sticks:
+		 * 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)
 				&& timeout--)
 			udelay(50);




More information about the coreboot mailing list