At present if an error occurs while setting up the boot, interrupts are left disabled. Move this call later in the sequence to avoid this problem.
Signed-off-by: Simon Glass <s...@chromium.org> Reviewed-by: Wolfgang Wallner <wolfgang.wall...@br-automation.com> Reviewed-by: Bin Meng <bmeng...@gmail.com> --- (no changes since v1) arch/x86/lib/zimage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index ba9eb50b0ba..8651dea93b3 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -333,7 +333,6 @@ int do_zboot(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) struct boot_params *base_ptr; char *s; - disable_interrupts(); memset(&state, '\0', sizeof(state)); if (argc >= 2) { /* argv[1] holds the address of the bzImage */ @@ -369,6 +368,7 @@ int do_zboot(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return -1; } + disable_interrupts(); /* we assume that the kernel is in place */ return boot_linux_kernel((ulong)base_ptr, state.load_address, false); } -- 2.28.0.526.ge36021eeef-goog