Instead of hang()ing the system and thus disallowing any automated
recovery possibility from a HAB authentication failure, panic() .
The panic() function can be configured to hang() the system after
printing an error message, however the default is to reset the
system instead.

This allows redundant boot to work correctly. In case the primary
or secondary image cannot be authenticated, the system reboots and
bootrom can try to start the other one.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Fabio Estevam <feste...@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-...@nxp.com>
Cc: Peng Fan <peng....@nxp.com>
Cc: Stefano Babic <sba...@denx.de>
---
 arch/arm/mach-imx/spl.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c
index 1a231c67f5..76a5f7aca6 100644
--- a/arch/arm/mach-imx/spl.c
+++ b/arch/arm/mach-imx/spl.c
@@ -293,8 +293,7 @@ __weak void __noreturn jump_to_image_no_args(struct 
spl_image_info *spl_image)
                                                CSF_PAD_SIZE, offset)) {
                        image_entry();
                } else {
-                       puts("spl: ERROR:  image authentication fail\n");
-                       hang();
+                       panic("spl: ERROR:  image authentication fail\n");
                }
        }
 }
@@ -320,8 +319,7 @@ void board_spl_fit_post_load(ulong load_addr, size_t length)
        if (imx_hab_authenticate_image(load_addr,
                                       offset + IVT_SIZE + CSF_PAD_SIZE,
                                       offset)) {
-               puts("spl: ERROR:  image authentication unsuccessful\n");
-               hang();
+               panic("spl: ERROR:  image authentication unsuccessful\n");
        }
 }
 #endif
-- 
2.25.1

Reply via email to