diff options
| author | Tom Rini <[email protected]> | 2024-10-07 09:06:49 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2024-10-07 09:06:49 -0600 |
| commit | c530f6079c70219e01022142b404bf8a6b572366 (patch) | |
| tree | 7696586afaf4c0ae8a94ef811abd7d4a2276eb64 /boot/bootdev-uclass.c | |
| parent | f919c3a889f0ec7d63a48b5d0ed064386b0980bd (diff) | |
| parent | 28dc47038edc4e93f32d75a357131bcf01a18d85 (diff) | |
Merge branch 'next'
Diffstat (limited to 'boot/bootdev-uclass.c')
| -rw-r--r-- | boot/bootdev-uclass.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c index 7c7bba088c9..807f8dfb064 100644 --- a/boot/bootdev-uclass.c +++ b/boot/bootdev-uclass.c @@ -632,7 +632,7 @@ int bootdev_next_label(struct bootflow_iter *iter, struct udevice **devp, int bootdev_next_prio(struct bootflow_iter *iter, struct udevice **devp) { - struct udevice *dev = *devp, *last_dev = NULL; + struct udevice *dev = *devp; bool found; int ret; @@ -640,6 +640,7 @@ int bootdev_next_prio(struct bootflow_iter *iter, struct udevice **devp) *devp = NULL; log_debug("next prio %d: dev=%p/%s\n", iter->cur_prio, dev, dev ? dev->name : "none"); + found = false; do { /* * Don't probe devices here since they may not be of the @@ -682,23 +683,13 @@ int bootdev_next_prio(struct bootflow_iter *iter, struct udevice **devp) } } else { ret = device_probe(dev); - if (!ret) - last_dev = dev; - if (ret) { - log_warning("Device '%s' failed to probe\n", + if (ret) + log_debug("Device '%s' failed to probe\n", dev->name); - if (last_dev == dev) { - /* - * We have already tried this device - * and it failed to probe. Give up. - */ - return log_msg_ret("probe", ret); - } - last_dev = dev; - dev = NULL; - } + else + found = true; } - } while (!dev); + } while (!found); *devp = dev; |
