Hi Bin, On Tue, Sep 19, 2017 at 12:32 AM, Bin Meng <bmeng...@gmail.com> wrote: > Hi Suneel, > > On Tue, Sep 19, 2017 at 1:55 PM, Suneel Garapati <suneelgli...@gmail.com> > wrote: >> add blk child devices to ignore list while displaying >> usb tree graph, otherwise usb tree and info commands >> may cause crash treating blk as usb device. >> >> Signed-off-by: Suneel Garapati <suneelgli...@gmail.com> >> --- >> >> Changes v3: >> - remove 'check on parent uclass' in description > > thanks for making the changes. > >> Changes v2: >> - remove check on parent uclass >> Changes v1: >> - add separate check on blk uclass >> - modify description >> - add separate check on parent uclass as usb >> >> cmd/usb.c | 11 ++++++++--- >> 1 file changed, 8 insertions(+), 3 deletions(-) >> >> diff --git a/cmd/usb.c b/cmd/usb.c >> index d95bcf5..3889994 100644 >> --- a/cmd/usb.c >> +++ b/cmd/usb.c >> @@ -414,8 +414,12 @@ static void usb_show_tree_graph(struct usb_device *dev, >> char *pre) >> >> udev = dev_get_parent_priv(child); >> >> - /* Ignore emulators, we only want real devices */ >> - if (device_get_uclass_id(child) != UCLASS_USB_EMUL) { >> + /* >> + * Ignore emulators and block child devices, we only want >> + * real devices >> + */ >> + if ((device_get_uclass_id(child) != UCLASS_USB_EMUL) && >> + (device_get_uclass_id(child) != UCLASS_BLK)) { >> usb_show_tree_graph(udev, pre); >> pre[index] = 0; >> } >> @@ -605,7 +609,8 @@ static void usb_show_info(struct usb_device *udev) >> for (device_find_first_child(udev->dev, &child); >> child; >> device_find_next_child(&child)) { >> - if (device_active(child)) { >> + if (device_active(child) && >> + (device_get_uclass_id(child) != UCLASS_BLK)) { >> udev = dev_get_parent_priv(child); >> usb_show_info(udev); >> } >> -- > > My testing of 'usb info' looks OK, however 'usb tree' still has some > issues below: > > => usb tree > USB device tree: > 1 Hub (5 Gb/s, 0mA) > | U-Boot XHCI Host Controller > | > +-2 Hub (5 Gb/s, 0mA) > | | GenesysLogic USB3.0 Hub > | | > | +-5 Vendor specific (5 Gb/s, 36mA) > | Realtek USB 10/100/1000 LAN 00E04C680977 > | Leaving block devices, why the extra print here for lan port?
> +-3 Hub (480 Mb/s, 100mA) > | | GenesysLogic USB2.0 Hub > | | And here? > | +-6 Mass Storage (480 Mb/s, 98mA) > | | | USBest Technology USB Mass Storage Device 101111c452b7c0 > | | | > > As you see, we just don't print out the BLK device, but we still print > out the | here. I believe if the extra print for other devices is correct, then this tree is fine. Also, I believe this is not related to the fix this patch aims at. Let me know if otherwise. Regards, Suneel > > | +-7 Human Interface (1.5 Mb/s, 70mA) > | Dell Dell USB Keyboard > | > +-4 Mass Storage (480 Mb/s, 300mA) > | JetFlash Mass Storage Device 16Q6ZPH20GF3E8UQ > | > > And here. > > Regards, > Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot