aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2024-06-19 06:34:52 -0600
committerTom Rini <trini@konsulko.com>2024-06-26 13:17:52 -0600
commit52ff1f5da0ef16e07984eee9a32408c71443812e (patch)
treefbaaa1542de6deb125f6bf55974e7846f5d728f2 /cmd
parentbce4c15f26e164d1c96bf0f1c4d33bf0f0dc8a90 (diff)
downloadu-boot-52ff1f5da0ef16e07984eee9a32408c71443812e.zip
u-boot-52ff1f5da0ef16e07984eee9a32408c71443812e.tar.gz
u-boot-52ff1f5da0ef16e07984eee9a32408c71443812e.tar.bz2
zboot: Correct use of state_mask argument
There is confusion in this function between the flag and state_mask parameters, which prevents the boot from actually happening. Correct this by using state_mask instead of flag for deciding which states to go through. This fixes booting of some 32-bit Debian kernels. Note: Some sort of CI for this is in the works. Fixes: 228c6722d44 ("x86: zboot: Avoid iteration in do_zboot_states()") Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd')
-rw-r--r--cmd/x86/zboot.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/cmd/x86/zboot.c b/cmd/x86/zboot.c
index c14219f..94e602b8 100644
--- a/cmd/x86/zboot.c
+++ b/cmd/x86/zboot.c
@@ -122,18 +122,18 @@ U_BOOT_SUBCMDS(zboot,
int do_zboot_states(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[], int state_mask)
{
- int ret;
+ int ret = 0;
log_debug("state_mask %x\n", state_mask);
- if (flag & ZBOOT_STATE_START)
+ if (state_mask & ZBOOT_STATE_START)
ret = do_zboot_start(cmdtp, flag, argc, argv);
- if (!ret && (flag & ZBOOT_STATE_LOAD))
+ if (!ret && (state_mask & ZBOOT_STATE_LOAD))
ret = do_zboot_load(cmdtp, flag, argc, argv);
- if (!ret && (flag & ZBOOT_STATE_SETUP))
+ if (!ret && (state_mask & ZBOOT_STATE_SETUP))
ret = do_zboot_setup(cmdtp, flag, argc, argv);
- if (!ret && (flag & ZBOOT_STATE_INFO))
+ if (!ret && (state_mask & ZBOOT_STATE_INFO))
ret = do_zboot_info(cmdtp, flag, argc, argv);
- if (!ret && (flag & ZBOOT_STATE_GO))
+ if (!ret && (state_mask & ZBOOT_STATE_GO))
ret = do_zboot_go(cmdtp, flag, argc, argv);
if (ret)
return ret;