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

Tom Rini trini at konsulko.com
Tue Jun 20 17:17:11 CEST 2023


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 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) {
>  		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);

Not all platforms that use SPI in SPL have panic() (and related
functions) available, so this introduces a number of fail to builds.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230620/b0eea90f/attachment.sig>


More information about the U-Boot mailing list