Pārlūkot izejas kodu

[IA64] disable interrupts when exiting from ia64_mca_cmc_int_handler()

SAL specification mandates that ia64_mca_log_sal_error_record() gets
called with interrupts enabled, and that's why ia64_mca_cmc_int_handler()
is enabling them. It however forgets to re-disable them when exiting,
which triggers WARN_ON() in generic IRQ handler.

Disable the interrupts again before exiting. This is analogous to
a3967685745 ("[IA64] disable interrupts at end of ia64_mca_cpe_int_handler()").

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Jiri Kosina 13 gadi atpakaļ
vecāks
revīzija
0f261ede31
1 mainītis faili ar 2 papildinājumiem un 0 dzēšanām
  1. 2 0
      arch/ia64/kernel/mca.c

+ 2 - 0
arch/ia64/kernel/mca.c

@@ -1447,6 +1447,8 @@ out:
 	/* Get the CMC error record and log it */
 	/* Get the CMC error record and log it */
 	ia64_mca_log_sal_error_record(SAL_INFO_TYPE_CMC);
 	ia64_mca_log_sal_error_record(SAL_INFO_TYPE_CMC);
 
 
+	local_irq_disable();
+
 	return IRQ_HANDLED;
 	return IRQ_HANDLED;
 }
 }