spl: fix calling "spl export .." more than once
authorHeiko Schocher <hs@denx.de>
Tue, 24 Feb 2015 06:04:38 +0000 (07:04 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 6 Mar 2015 01:50:28 +0000 (20:50 -0500)
running "spl export ..." more than once fails with:

Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
ERROR prep subcommand failed!
Subcommand failed

reason is commmit:
35fc84fa1f: Refactor the bootm command to reduce code duplication

It used "state != BOOTM_STATE_START" but state is a bitfield, so
check if the bit BOOTM_STATE_START is not set. With this fix,
"spl export ..." can called more than once ...

Signed-off-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
common/cmd_bootm.c

index 48199bfff3ed75a232ba3905cb4fe8662b09e321..4f77f22f94c41935adbc694e167de17e3df694ec 100644 (file)
@@ -78,7 +78,8 @@ static int do_bootm_subcommand(cmd_tbl_t *cmdtp, int flag, int argc,
                return CMD_RET_USAGE;
        }
 
-       if (state != BOOTM_STATE_START && images.state >= state) {
+       if (((state & BOOTM_STATE_START) != BOOTM_STATE_START) &&
+           images.state >= state) {
                printf("Trying to execute a command out of order\n");
                return CMD_RET_USAGE;
        }