• H
    dm: usb: Fix "usb tree" output · c27b3290
    Hans de Goede 提交于
    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: NHans de Goede <hdegoede@redhat.com>
    Acked-by: NSimon Glass <sjg@chromium.org>
    c27b3290
cmd_usb.c 19.6 KB