[PATCH v2] usb: storage: retry for up to 10s on lengthy HDD spin up

Sascha Hauer sha at pengutronix.de
Fri May 7 01:09:45 PDT 2021


On Fri, Apr 16, 2021 at 07:26:46PM +0200, Ahmad Fatoum wrote:
> Some USB disks take notoriously long to spin up. They are seen by a bus
> scan, but they report ready only after a few seconds have passed. This
> is not a problem if vbus is enabled early on, so devices have had a
> chance to spin up. If vbus is first enabled as part of the usb scan,
> not enough time might have passed for the USB disk to be usable.
> 
> This issue was observed on an i.MX6QP with following topology:
> 
>   usb: USB: scanning bus for devices...
>   usb: 5 USB Device(s) found
>     1 ID 0000:0000
>     |  u-boot EHCI Host Controller
>     |
>     +-2 ID 0424:2517
>     |
>     +-5 ID 1058:2621
>     |    Western Digital Elements 2621
>     ...
> 
> Unplugging and replugging the USB disk and doing a second usb scan
> made the unit ready test succeed. Increasing the retry count
> during initialization has negative consequences for other cases,
> like when a device is unplugged while being probed (which already
> takes way too long).
> 
> Instead, just for the case of a detected USB mass storage device that
> couldn't get ready initially: retry for 10s at initialization time
> before giving up.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
> v1 -> v2:
>   - don't increase retry count, instead just check time and don't
>     loop longer than 10s at init time.
> ---
>  drivers/usb/storage/usb.c | 20 ++++++++++++--------
>  1 file changed, 12 insertions(+), 8 deletions(-)

Applied, thanks

Sascha


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list