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

Simon Glass sjg at chromium.org
Mon Jun 29 05:45:08 CEST 2015


On 17 June 2015 at 13:33, Hans de Goede <hdegoede at 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 at redhat.com>
> ---
>  common/cmd_usb.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)

Acked-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list