
On Mon, Jan 30, 2023 at 11:03:03AM +0100, Mario Kicherer wrote:
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 dev@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) { 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",
elseret);
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);
Not all platforms that use SPI in SPL have panic() (and related functions) available, so this introduces a number of fail to builds.