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 <s...@chromium.org>
---

 common/spl/spl.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/common/spl/spl.c b/common/spl/spl.c
index da110ee0783..143ae96baf0 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -613,6 +613,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;
@@ -632,10 +633,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);
                        }
                }
        }
-- 
2.34.1

Reply via email to