[U-Boot] [PATCH 07/22] dm: usb: Fix "usb tree" output

Simon Glass
2015-07-07T18:34:56Z

On 28 June 2015 at 21:45, Simon Glass <sjg@chromium.org> wrote:
> On 17 June 2015 at 13:33, Hans de Goede <hdegoede@redhat.com> wrote:
>> last_child was abused by the old usb code to first store 1 if the
>> usb_device was not the root of the usb tree, and then later on re-used
>> to store whether or not the usb_device is actually the last child.
>>
>> The dm-usb code was always setting it to actually reflect the last-child
>> status which is wrong for the last child leading to output like this:
>>
>> USB device tree:
>> 1 Hub (12 Mb/s, 100mA)
>> | ALCOR USB Hub 2.0
>> |
>> | 2 Mass Storage (12 Mb/s, 100mA)
>> | USB Flash Disk 4C0E960F
>> |
>> +-3 Human Interface (1.5 Mb/s, 100mA)
>> SINO WEALTH USB Composite Device
>>
>> Instead of this:
>>
>> USB device tree:
>> 1 Hub (12 Mb/s, 100mA)
>> | ALCOR USB Hub 2.0
>> |
>> +-2 Mass Storage (12 Mb/s, 100mA)
>> | USB Flash Disk 4C0E960F
>> |
>> +-3 Human Interface (1.5 Mb/s, 100mA)
>> SINO WEALTH USB Composite Device
>>
>> This commit fixes this by first checking that the device is not root,
>> and then setting last_child. This commit also updates the old code to not
>> abuse the last_child variable to store the root check result.
>>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> common/cmd_usb.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot-dm/next, thanks!