diff mbox series

bootm: do not hang on failure

Message ID 20210217115554.28051-1-xypron.glpk@gmx.de
State Accepted
Commit 0ca7c4d964dcce1ca3e0f7e1cdb8031561fdeab6
Delegated to: Tom Rini
Headers show
Series bootm: do not hang on failure | expand

Commit Message

Heinrich Schuchardt Feb. 17, 2021, 11:55 a.m. UTC
On ARMv8 systems

    load mmc 0:1 $loadaddr  vmlinuz-5.10.0-3-arm64
    booti

leads to a hanging system requiring to physically reset the system:

    FDT and ATAGS support not compiled in - hanging
    ### ERROR ### Please RESET the board ###

For systems where physical access is difficult hanging is a poor choice.
It is preferable to reset the system when U-Boot reaches a state that is
not recoverable.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 arch/arm/lib/bootm.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

--
2.30.0

Comments

Simon Glass Feb. 18, 2021, 4:45 a.m. UTC | #1
On Wed, 17 Feb 2021 at 04:56, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>
> On ARMv8 systems
>
>     load mmc 0:1 $loadaddr  vmlinuz-5.10.0-3-arm64
>     booti
>
> leads to a hanging system requiring to physically reset the system:
>
>     FDT and ATAGS support not compiled in - hanging
>     ### ERROR ### Please RESET the board ###
>
> For systems where physical access is difficult hanging is a poor choice.
> It is preferable to reset the system when U-Boot reaches a state that is
> not recoverable.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  arch/arm/lib/bootm.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Heinrich Schuchardt April 11, 2021, 12:28 p.m. UTC | #2
On 2/18/21 5:45 AM, Simon Glass wrote:
> On Wed, 17 Feb 2021 at 04:56, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>>
>> On ARMv8 systems
>>
>>      load mmc 0:1 $loadaddr  vmlinuz-5.10.0-3-arm64
>>      booti
>>
>> leads to a hanging system requiring to physically reset the system:
>>
>>      FDT and ATAGS support not compiled in - hanging
>>      ### ERROR ### Please RESET the board ###
>>
>> For systems where physical access is difficult hanging is a poor choice.
>> It is preferable to reset the system when U-Boot reaches a state that is
>> not recoverable.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>> ---
>>   arch/arm/lib/bootm.c | 7 ++-----
>>   1 file changed, 2 insertions(+), 5 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>

Hello Tom,

this reviewed patch is currently in status NEW assigned to you. Please,
consider it for your next miscellaneous pull.

Best regards

Heinrich
Tom Rini April 13, 2021, 2:27 p.m. UTC | #3
On Wed, Feb 17, 2021 at 12:55:54PM +0100, Heinrich Schuchardt wrote:

> On ARMv8 systems
> 
>     load mmc 0:1 $loadaddr  vmlinuz-5.10.0-3-arm64
>     booti
> 
> leads to a hanging system requiring to physically reset the system:
> 
>     FDT and ATAGS support not compiled in - hanging
>     ### ERROR ### Please RESET the board ###
> 
> For systems where physical access is difficult hanging is a poor choice.
> It is preferable to reset the system when U-Boot reaches a state that is
> not recoverable.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 11af9e2fb9..f60ee3a7e6 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -16,7 +16,6 @@ 
 #include <command.h>
 #include <cpu_func.h>
 #include <dm.h>
-#include <hang.h>
 #include <lmb.h>
 #include <log.h>
 #include <asm/global_data.h>
@@ -249,8 +248,7 @@  static void boot_prep_linux(bootm_headers_t *images)
 #ifdef CONFIG_OF_LIBFDT
 		debug("using: FDT\n");
 		if (image_setup_linux(images)) {
-			printf("FDT creation failed! hanging...");
-			hang();
+			panic("FDT creation failed!");
 		}
 #endif
 	} else if (BOOTM_ENABLE_TAGS) {
@@ -283,8 +281,7 @@  static void boot_prep_linux(bootm_headers_t *images)
 		setup_board_tags(&params);
 		setup_end_tag(gd->bd);
 	} else {
-		printf("FDT and ATAGS support not compiled in - hanging\n");
-		hang();
+		panic("FDT and ATAGS support not compiled in\n");
 	}

 	board_prep_linux(images);