[U-Boot] [PATCH] usb: increase usb delay

This makes booting off the USB disks I have go from 50% reliable to 100% reliable. I'm no USB expert so maybe there is a better way. But one way or another we aren't waiting long enough after power-on for the usb device to be ready.
Signed-off-by: Rob Clark robdclark@gmail.com --- common/usb_storage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/usb_storage.c b/common/usb_storage.c index 03171f7..0e3de90 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -1019,7 +1019,7 @@ static int usb_test_unit_ready(ccb *srb, struct us_data *ss) if ((srb->sense_buf[2] == 0x02) && (srb->sense_buf[12] == 0x3a)) return -1; - mdelay(100); + mdelay(250); } while (retries--);
return -1;

On Sat, Jun 24, 2017 at 07:09:32PM -0400, Rob Clark wrote:
This makes booting off the USB disks I have go from 50% reliable to 100% reliable. I'm no USB expert so maybe there is a better way. But one way or another we aren't waiting long enough after power-on for the usb device to be ready.
Signed-off-by: Rob Clark robdclark@gmail.com
common/usb_storage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/usb_storage.c b/common/usb_storage.c index 03171f7..0e3de90 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -1019,7 +1019,7 @@ static int usb_test_unit_ready(ccb *srb, struct us_data *ss) if ((srb->sense_buf[2] == 0x02) && (srb->sense_buf[12] == 0x3a)) return -1;
mdelay(100);
mdelay(250);
} while (retries--);
return -1;
This made me think of 1c3e62d690a3 which was the result of other USB delay decreasing changes. Perhaps there's some issues on the host controller code used on dragonboard? Thanks!
participants (2)
-
Rob Clark
-
Tom Rini