diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/usb.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -15,6 +15,7 @@ #include <command.h> #include <console.h> #include <dm.h> +#include <dm/uclass-internal.h> #include <memalign.h> #include <asm/byteorder.h> #include <asm/unaligned.h> @@ -442,12 +443,15 @@ void usb_show_tree(void) #ifdef CONFIG_DM_USB struct udevice *bus; - for (uclass_first_device(UCLASS_USB, &bus); + for (uclass_find_first_device(UCLASS_USB, &bus); bus; - uclass_next_device(&bus)) { + uclass_find_next_device(&bus)) { struct usb_device *udev; struct udevice *dev; + if (!device_active(bus)) + continue; + device_find_first_child(bus, &dev); if (dev && device_active(dev)) { udev = dev_get_parent_priv(dev); |