Skip to content

Commit

Permalink
[IA64] disable interrupts when exiting from ia64_mca_cmc_int_handler()
Browse files Browse the repository at this point in the history
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
a396768 ("[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>
  • Loading branch information
Jiri Kosina authored and Tony Luck committed Feb 8, 2012
1 parent 62aa2b5 commit 0f261ed
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions arch/ia64/kernel/mca.c
Original file line number Diff line number Diff line change
Expand Up @@ -1447,6 +1447,8 @@ ia64_mca_cmc_int_handler(int cmc_irq, void *arg)
/* Get the CMC error record and log it */
ia64_mca_log_sal_error_record(SAL_INFO_TYPE_CMC);

local_irq_disable();

return IRQ_HANDLED;
}

Expand Down

0 comments on commit 0f261ed

Please sign in to comment.