[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