common/cmd_bootm.c: fix subcommand processing in OS specific do_bootm_xxx() functions
authorMiao Yan <miao.yan@windriver.com>
Mon, 4 Nov 2013 03:18:14 +0000 (11:18 +0800)
committerTom Rini <trini@ti.com>
Fri, 8 Nov 2013 14:41:37 +0000 (09:41 -0500)
commit5b629319cf58101b4d623017503d2437714e788a
tree4a55bc6a2027f480c5b035b8ebb68fe8d06e46f0
parentbb02c5366052f8aa619961e98cd2ef74631ce8f6
common/cmd_bootm.c: fix subcommand processing in OS specific do_bootm_xxx() functions

In commit "5c427e4: use BOOTM_STATE_OS_CMDLINE flag for plain bootm"
and "3d187b3: Only pass BOOTM_STATE_OS_CMDLINE on PowerPC/MIPS",
BOOTM_STATE_OS_CMDLINE was added to do_bootm for PowerPC and MIPS. This
breaks other OSes (vxworks, netbsd, plan9,...) that don't support
subcommand processing, e.g. they all contain the following code in their
do_bootm_xxx():

    if (flag & BOOTM_STATE_OS_PREP)
            return 0;
    if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
            return 1;

which will result a "subcommand not supported" error.
This patch changes the above logic to:

    /* if not go command, pretend everything to be OK */
    if (flag != BOOTM_STATE_OS_GO)
         return 0;

Signed-off-by: Miao Yan <miao.yan@windriver.com>
common/cmd_bootm.c