diff options
author | Marek Vasut <marex@denx.de> | 2016-04-27 03:08:12 +0200 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2016-05-06 20:06:56 +0200 |
commit | f647bf0ba36a5236d4bc7f93d39bfacfb1cfe6c7 (patch) | |
tree | 46fad17b63b065cf8783459a355d9aeded71d9c7 /common/usb.c | |
parent | 2f1b4302e352800b8b651a300281a7fae67cdf80 (diff) | |
download | u-boot-f647bf0ba36a5236d4bc7f93d39bfacfb1cfe6c7.tar.gz u-boot-f647bf0ba36a5236d4bc7f93d39bfacfb1cfe6c7.tar.bz2 u-boot-f647bf0ba36a5236d4bc7f93d39bfacfb1cfe6c7.zip |
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 <marex@denx.de>
Cc: Chin Liang See <clsee@altera.com>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'common/usb.c')
-rw-r--r-- | common/usb.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/common/usb.c b/common/usb.c index 63429d4d5a..205041b6a6 100644 --- a/common/usb.c +++ b/common/usb.c @@ -1107,6 +1107,14 @@ int usb_select_config(struct usb_device *dev) "len %d, status %lX\n", dev->act_len, dev->status); return err; } + + /* + * 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); + debug("new device strings: Mfr=%d, Product=%d, SerialNumber=%d\n", dev->descriptor.iManufacturer, dev->descriptor.iProduct, dev->descriptor.iSerialNumber); |