From 8dd6a4d3da2c07f8ce77a632a023814bf52676b6 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Thu, 12 Feb 2009 13:49:32 +0100 Subject: [PATCH] --- yaml --- r: 138642 b: refs/heads/master c: f9695df42cdbca78530b4458c38ecfdd0bb90079 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/cpu/mcheck/threshold.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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(); }