提交 a26913f3 编写于 作者: S Simon Glass 提交者: Tom Rini

bootm: Require boot function only if it is about to be used

The original bootm code (before commit 35fc84fa) did not check for a valid
boot function in the subcommand case, which was incorrect.

This check was introduced in all cases, but in fact we should only check
for the function when we need it. Otherwise in some cases the check fires
before the OS type is known.
Signed-off-by: NSimon Glass <sjg@chromium.org>
上级 385501d3
......@@ -605,7 +605,7 @@ static int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int argc,
{
boot_os_fn *boot_fn;
ulong iflag = 0;
int ret = 0;
int ret = 0, need_boot_fn;
images->state |= states;
......@@ -665,7 +665,10 @@ static int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int argc,
if (ret)
return ret;
boot_fn = boot_os[images->os.os];
if (boot_fn == NULL) {
need_boot_fn = states & (BOOTM_STATE_OS_CMDLINE |
BOOTM_STATE_OS_BD_T | BOOTM_STATE_OS_PREP |
BOOTM_STATE_OS_FAKE_GO | BOOTM_STATE_OS_GO);
if (boot_fn == NULL && need_boot_fn) {
if (iflag)
enable_interrupts();
printf("ERROR: booting os '%s' (%d) is not supported\n",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册