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

Reply via email to