On systems without a watchdog, using hang() prevents a system to
recover from an error. For example, a board could implement a boot
counter to switch to an alternative load address after some failed
tries.

Signed-off-by: Mario Kicherer <[email protected]>
---
 common/spl/spl.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/common/spl/spl.c b/common/spl/spl.c
index 2855cdd117..d1aa2fb8a9 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -822,11 +822,10 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
        if (ret) {
                if (CONFIG_IS_ENABLED(SHOW_ERRORS) &&
                    CONFIG_IS_ENABLED(LIBCOMMON_SUPPORT))
-                       printf(SPL_TPL_PROMPT "failed to boot from all boot 
devices (err=%d)\n",
-                              ret);
+                       panic(SPL_TPL_PROMPT "failed to boot from all boot 
devices (err=%d)\n",
+                             ret);
                else
-                       puts(SPL_TPL_PROMPT "failed to boot from all boot 
devices\n");
-               hang();
+                       panic_str(SPL_TPL_PROMPT "failed to boot from all boot 
devices\n");
        }
 
        spl_perform_fixups(&spl_image);
-- 
2.34.1

Reply via email to