From: Denis Mukhin <[email protected]> Currently, default 'bootflow scan -lb' will stop booting the board if any of high-level priority bootdevs cannot be hunted even if there 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 <[email protected]> --- The following patch can be used for manual testing: https://github.com/dmkhn/u-boot/commit/486bf2eba295126c98fd88bce6889a59a9c9f507 --- boot/bootdev-uclass.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c index 3f8dc2c3c4e6..73c3f050c225 100644 --- a/boot/bootdev-uclass.c +++ b/boot/bootdev-uclass.c @@ -664,8 +664,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); -- 2.54.0

