[PATCH] cmd: usb: Prevent reset in usb tree/info command

Marek Vasut marex at denx.de
Mon Jun 19 23:49:18 CEST 2023


On 6/19/23 12:12, Xavier Drudis Ferran wrote:

It seems the email addresses are being constantly corrupted in each 
email. This time the ML address is wrong and missing an e at the end. 
There is some e@ nonexistent address which I have to keep removing.

> When DISTRO_DEFAULTS is not set, the default environment has
> bootcmd=bootflow

That is not right, on $randomboard I picked the bootcmd is something else.

? and this will cause a UCLASS_BOOTDEV device to be
> added as sibling of those UCLASS_BLK devices in boot_targets, until
> boot succeeds from some device. If none succeeds, and usb is in
> boot_targets, and an usb storage device is plugged to some usb port at
> boot time, its UCLASS_MASS_STORAGE device will have a UCLASS_BOOTDEV
> device as child, besides a UCLASS_BLK child.
> 
> If once the boot fails the user enters at the U-Boot shell prompt:
> 
> usb info
> 
> or
> 
> usb tree
> 
> The code in cmd/usb.c will eventually recurse into the UCLASS_BOOTDEV
> and pass a null pointer to usb_device (because it has no parent_priv_).
> This causes a reset.

Does this happen if you set empty bootcmd ('=> setenv bootcmd 'echo 
hello' for example), then 'saveenv' , then 'reset' , then drop into 
U-Boot shell and run 'usb reset ; usb info' too ?

[...]


More information about the U-Boot mailing list