MIPS: bootm: Fix broken boot_env_legacy codepath
authorZubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Tue, 11 Jul 2017 15:47:51 +0000 (16:47 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tue, 25 Jul 2017 18:44:00 +0000 (20:44 +0200)
This patch fixes 2 bugs introduced by the following commit

2bb5b63 MIPS: bootm: rework and fix broken bootm code

The CONFIG_IS_ENABLED macro prepends 'CONFIG_' Hence, remove CONFIG_
from CONFIG_MIPS_BOOT_ENV_LEGACY usage.

Also, 2bb5b63 reworks bootm so that linux_env_legacy runs before
linux_cmdline_legacy. However, linux_env_legacy depends on
linux_cmdline_legacy running first as linux_cmdline_init initialilzes
linux_argp which linux_env_legacy later depends on during its
initialization.

Reorder the code so that linux_cmdline_legacy runs before
linux_env_legacy.

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
arch/mips/lib/bootm.c

index be87762..2b67905 100644 (file)
@@ -279,17 +279,17 @@ static void boot_prep_linux(bootm_headers_t *images)
                boot_reloc_fdt(images);
                boot_setup_fdt(images);
        } else {
-               if (CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
-                       linux_env_legacy(images);
-
                if (CONFIG_IS_ENABLED(MIPS_BOOT_CMDLINE_LEGACY)) {
                        linux_cmdline_legacy(images);
 
-                       if (!CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
+                       if (!CONFIG_IS_ENABLED(MIPS_BOOT_ENV_LEGACY))
                                linux_cmdline_append(images);
 
                        linux_cmdline_dump();
                }
+
+               if (CONFIG_IS_ENABLED(MIPS_BOOT_ENV_LEGACY))
+                       linux_env_legacy(images);
        }
 }