[PATCH 3/5] usb: wait after setting device configuration
Ahmad Fatoum <[email protected]> Fri, 26 Jun 2026 19:31:39 +0200
| Newsgroups | org.infradead.lists.barebox |
|---|---|
| Message-ID | <[email protected]> |
Port over U-Boot commit f647bf0ba36a5236d4bc7f93d39bfacfb1cfe6c7: | usb: Wait after sending Set Configuration request | | Some devices, like the SanDisk Cruzer Pop need some time to process | the Set Configuration request, so wait a little until they are ready. | | Signed-off-by: Marek Vasut <[email protected]> | Cc: Chin Liang See <[email protected]> | Cc: Dinh Nguyen <[email protected]> | Cc: Hans de Goede <[email protected]> | Cc: Stefan Roese <[email protected]> | Cc: Stephen Warren <[email protected]> Assisted-by: Codex:gpt-5.5 Signed-off-by: Ahmad Fatoum <[email protected]> --- drivers/usb/core/usb.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index c6b3187de17d..145b85a28fab 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c @@ -539,6 +539,14 @@ int usb_new_device(struct usb_device *dev) dev->act_len, dev->status); goto err_out; } + + /* + * Wait until the Set Configuration request gets processed by the + * device. This is required by at least SanDisk Cruzer Pop USB 2.0 + * and Kingston DT Ultimate 32GB USB 3.0 on DWC2 OTG controller. + */ + mdelay(10); + dev_dbg(&dev->dev, "new device: Mfr=%d, Product=%d, SerialNumber=%d\n", dev->descriptor->iManufacturer, dev->descriptor->iProduct, dev->descriptor->iSerialNumber); -- 2.47.3