spl: Report a loader failure
authorSimon Glass <sjg@chromium.org>
Thu, 19 Dec 2024 18:28:57 +0000 (11:28 -0700)
committerTom Rini <trini@konsulko.com>
Fri, 27 Dec 2024 21:16:10 +0000 (15:16 -0600)
If a loader returns an error code it is silently ignored. Show a message
to at least provide some feedback to the user.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/spl/spl.c

index 1ceb63d..7c57eb8 100644 (file)
@@ -612,6 +612,7 @@ static int boot_from_devices(struct spl_image_info *spl_image,
        for (i = 0; i < count && spl_boot_list[i] != BOOT_DEVICE_NONE; i++) {
                struct spl_image_loader *loader;
                int bootdev = spl_boot_list[i];
+               int ret;
 
                if (CONFIG_IS_ENABLED(SHOW_ERRORS))
                        ret = -ENXIO;
@@ -631,10 +632,13 @@ static int boot_from_devices(struct spl_image_info *spl_image,
                                             "Unsupported Boot Device!\n");
                                }
                        }
-                       if (loader &&
-                               !spl_load_image(spl_image, loader)) {
-                               spl_image->boot_device = bootdev;
-                               return 0;
+                       if (loader) {
+                               ret = spl_load_image(spl_image, loader);
+                               if (!ret) {
+                                       spl_image->boot_device = bootdev;
+                                       return 0;
+                               }
+                               printf("Error: %d\n", ret);
                        }
                }
        }