From df6d09d0fb319f5c834b75babad62a0221582fce Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Thu, 12 Sep 2013 18:23:09 -0700 Subject: [PATCH] libpayload: Reduce media init timeout to 5 seconds. Currently, we wait for up to 30 seconds for a device to become ready to respond to a TEST_UNIT_READY command. In practice, all media devices become ready much sooner. But, certain devices do not function with libpayload's USB driver, and always timeout. To provide a better user experience when booting with such devices, reduce the timeout to 5 seconds. Change-Id: Icceab99fa266cdf441847627087eaa5de9b88ecc Signed-off-by: Shawn Nematbakhsh Reviewed-on: https://chromium-review.googlesource.com/169209 (cherry picked from commit 9e55204e92adca0476d273565683f211d6803e7a) Signed-off-by: Isaac Christensen Reviewed-on: http://review.coreboot.org/6647 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich --- payloads/libpayload/drivers/usb/usbmsc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/payloads/libpayload/drivers/usb/usbmsc.c b/payloads/libpayload/drivers/usb/usbmsc.c index f68bee5bd3..1f8c551100 100644 --- a/payloads/libpayload/drivers/usb/usbmsc.c +++ b/payloads/libpayload/drivers/usb/usbmsc.c @@ -539,8 +539,10 @@ usb_msc_test_unit_ready (usbdev_t *dev) int i; time_t start_time_secs; struct timeval tv; - /* SCSI/ATA specs say we have to wait up to 30s. Ugh */ - const int timeout_secs = 30; + /* SCSI/ATA specs say we have to wait up to 30s, but most devices + * are ready much sooner. Use a 5 sec timeout to better accomodate + * devices which fail to respond. */ + const int timeout_secs = 5; usb_debug (" Waiting for device to become ready...");