summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2017-10-01 06:19:39 -0700
committerMarek Vasut <marex@denx.de>2017-10-01 16:32:50 +0200
commit84aa8536f0197e439832f56cc7b554af488fc3c8 (patch)
treeb9268f5d73b8ed6b0ff5ab58cb24b9bb48b036d7 /README
parent813f74ea47d0f77f809d85619153923a99b07222 (diff)
downloadu-boot-84aa8536f0197e439832f56cc7b554af488fc3c8.tar.gz
usb: sandbox: Fix emulator device select logic in usb_emul_find_devnum()
Current emulator select logic in usb_emul_find_devnum() is to test the USB address. The USB address of the device being enumerated is initialized to zero at the beginning of the enumeration process in usb_setup_device(). At this point, the saved USB address in the platform data has not been assigned to any valid USB address either. This means: the logic will select an emulator device according to its sequence of declaring order in the device tree. Take test.dts for example, flash-stick@0 will be selected before flash-stick@1. But unfortunately such logic is wrong. In fact USB devices show up in a random order during the enumeration which means usb_emul_find_devnum() may be called on port 3 for keyb@3 before on port 0 for flash-stick@0. To fix this, we introduce a new emulator uclass specific platdata to store the USB device's port number on its parent hub, and update the logic to test the port number instead. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions