Commit 35fc84fa1ff51e15ecd3e464dac87eb105ffed30 broke bootm on avr32. It
requires to call do_bootm_linux() with flag set to BOOTM_STATE_OS_PREP before
calling it again with flag set to BOOTM_STATE_OS_GO.
Fix this by allowing flag set to BOOTM_STATE_OS_PREP, this however will
require a complete refactoring later on.

Signed-off-by: Andreas Bießmann <andreas.de...@googlemail.com>

---
 arch/avr32/lib/bootm.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/avr32/lib/bootm.c b/arch/avr32/lib/bootm.c
index 87f3f9c..eedab9d 100644
--- a/arch/avr32/lib/bootm.c
+++ b/arch/avr32/lib/bootm.c
@@ -187,6 +187,15 @@ int do_bootm_linux(int flag, int argc, char * const 
argv[], bootm_headers_t *ima
        struct  tag *params, *params_start;
        char    *commandline = getenv("bootargs");
 
+       /*
+        * allow the PREP bootm subcommand, it is required for bootm to work
+        *
+        * TODO: Andreas Bießmann <andreas.de...@googlemail.com> refactor the
+        * do_bootm_linux() for avr32
+        */
+       if (flag & BOOTM_STATE_OS_PREP)
+               return 0;
+
        if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
                return 1;
 
-- 
1.7.10.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to