[PATCH v1 2/2] bootdev: scan boot devices at each priority level

Simon Glass sjg at chromium.org
Sun Jun 14 14:56:52 CEST 2026


Hi Denis,

On 2026-06-11T01:48:41, None <dmukhin at ford.com> wrote:
> bootdev: scan boot devices at each priority level
>
> Currently, default 'bootflow scan -lb' will stop booting the board
> if any of high-level priority bootdevs cannot be hunted even if there

I think you mean 'higher-priority bootdevs fail to be hunted'.

> are bootdevs of lower priority.
>
> For example, if board has both NVMe (priority 4) and USB MSD devices
> (priority 5), and if NVMe bootdev hunt fails (in an event of bad NVMe
> firmware update), USB (may be recovery bootdev) is never hunted
> automatically, leaving the board in U-Boot prompt (user intervention
> is needed, e.g. something like 'bootflow scan usb' to hunt USB).
>
> Fix bootdev_next_prio() to scan bootdevs at the lower priority level
> by not exiting the scan loop early.
>
> Signed-off-by: Denis Mukhin <dmukhin at ford.com>
>
> boot/bootdev-uclass.c | 2 --
>  1 file changed, 2 deletions(-)

> diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c
> @@ -669,8 +669,6 @@ int bootdev_next_prio(struct bootflow_iter *iter, struct udevice **devp)
>                                                       BOOTFLOWIF_SHOW);
>                               log_debug("- bootdev_hunt_prio() ret %d\n",
>                                         ret);
> -                             if (ret)
> -                                     return log_msg_ret('hun', ret);
>                       }
>               } else {
>                       ret = device_probe(dev);

The fix looks right - we can probably rely on the failing subsystem to
print a suitable message.

Regards,
Simon


More information about the U-Boot mailing list