[PATCH] spl: spl_nor: use panic instead of hang if booting fails

Mario Kicherer dev at kicherer.org
Mon Jan 30 11:03:03 CET 2023

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

Signed-off-by: Mario Kicherer <dev at kicherer.org>
 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) {
-			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);
-			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");

More information about the U-Boot mailing list