diff --git a/[refs] b/[refs] index f27a936c0557..07d4f518d9a9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b276268631af3a1b0df871e10d19d492f0513d4b +refs/heads/master: f9695df42cdbca78530b4458c38ecfdd0bb90079 diff --git a/trunk/arch/x86/kernel/cpu/mcheck/threshold.c b/trunk/arch/x86/kernel/cpu/mcheck/threshold.c index 4319142413d7..e4b8a3833fc5 100644 --- a/trunk/arch/x86/kernel/cpu/mcheck/threshold.c +++ b/trunk/arch/x86/kernel/cpu/mcheck/threshold.c @@ -15,10 +15,11 @@ void (*mce_threshold_vector)(void) = default_threshold_interrupt; asmlinkage void mce_threshold_interrupt(void) { - ack_APIC_irq(); exit_idle(); irq_enter(); inc_irq_stat(irq_threshold_count); mce_threshold_vector(); irq_exit(); + /* Ack only at the end to avoid potential reentry */ + ack_APIC_irq(); }