Searched hist:"7832 d01e496384987f5f57eae162c86fed0090de" (Results 1 – 4 of 4) sorted by relevance
| /rk3399_rockchip-uboot/drivers/usb/host/ |
| H A D | usb-sandbox.c | 7832d01e496384987f5f57eae162c86fed0090de Sun Oct 01 13:19:39 UTC 2017 Bin Meng <bmeng.cn@gmail.com> UPSTREAM: 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.
Change-Id: Idbe23382957153d66a4c45f5f7789e002cd65a2f Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 84aa8536f0197e439832f56cc7b554af488fc3c8)
|
| /rk3399_rockchip-uboot/drivers/usb/emul/ |
| H A D | usb-emul-uclass.c | 7832d01e496384987f5f57eae162c86fed0090de Sun Oct 01 13:19:39 UTC 2017 Bin Meng <bmeng.cn@gmail.com> UPSTREAM: 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.
Change-Id: Idbe23382957153d66a4c45f5f7789e002cd65a2f Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 84aa8536f0197e439832f56cc7b554af488fc3c8)
|
| H A D | sandbox_hub.c | 7832d01e496384987f5f57eae162c86fed0090de Sun Oct 01 13:19:39 UTC 2017 Bin Meng <bmeng.cn@gmail.com> UPSTREAM: 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.
Change-Id: Idbe23382957153d66a4c45f5f7789e002cd65a2f Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 84aa8536f0197e439832f56cc7b554af488fc3c8)
|
| /rk3399_rockchip-uboot/include/ |
| H A D | usb.h | 7832d01e496384987f5f57eae162c86fed0090de Sun Oct 01 13:19:39 UTC 2017 Bin Meng <bmeng.cn@gmail.com> UPSTREAM: 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.
Change-Id: Idbe23382957153d66a4c45f5f7789e002cd65a2f Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 84aa8536f0197e439832f56cc7b554af488fc3c8)
|