Skip to content
Snippets Groups Projects
Commit c9e8436b authored by Remy Bohmer's avatar Remy Bohmer Committed by Markus Klotzbuecher
Browse files

USB layer of U-Boot causes USB protocol errors while using USB memory sticks


There are several differences between Linux, Windows and U-boot for initialising the
USB devices. While analysing the behaviour of U-boot it turned out that U-boot does
things really different, and some are wrong (compared to the USB standard).

This patch fixes some errors:
* The NEW_init procedure that was already in the code is good, while the old procedure
  is wrong. See code comments for more info.
* On a Control request the data returned by the device can be more than 8 bytes, while
  the host limits it to 8 bytes. This caused the host to generate a DataOverrun error.
  This results in a lot of USB sticks not being recognised, and the transmission ended
  frequently with a CTL:TIMEOUT Error.
* Added a flag CONFIG_LEGACY_USB_INIT_SEQ to allow users to use the old init procedure.

Signed-off-by: default avatarRemy Bohmer <linux@bohmer.net>
Signed-off-by: default avatarMarkus Klotzbuecher <mk@denx.de>
parent 6f5794a6
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment