From 9e55204e92adca0476d273565683f211d6803e7a 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. BUG=chrome-os-partner:22345 TEST=Manual on Peppy w/ FCR-HS3 SD card reader. Verify that timeout is reduced to ~5 seconds. Also verify that various external media devices continue to boot. Change-Id: Icceab99fa266cdf441847627087eaa5de9b88ecc Signed-off-by: Shawn Nematbakhsh Reviewed-on: https://chromium-review.googlesource.com/169209 --- 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...");