diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 50c98ab8173bbc5b40dc138c7b6281330ce10e49..b13a2d207c0afeccb0865c2c278f8abba5694b9f 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -924,9 +924,10 @@ void handle_IPI(int ipinr, struct pt_regs *regs) case IPI_CPU_CRASH_STOP: if (IS_ENABLED(CONFIG_KEXEC_CORE)) { - if (gic_supports_pseudo_nmis()) - nmi_enter(); - else + if (gic_supports_pseudo_nmis()) { + if (irqs_enabled) + nmi_enter(); + } else irq_enter(); ipi_cpu_crash_stop(cpu, regs);