]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
x86, mce: synchronize core after machine check handling
authorAndi Kleen <andi@firstfloor.org>
Wed, 27 May 2009 19:56:51 +0000 (21:56 +0200)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 28 May 2009 16:24:14 +0000 (09:24 -0700)
The example code in the IA32 SDM recommends to synchronize the CPU
after machine check handling. So do that here.

[ Impact: Spec compliance ]

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/cpu/mcheck/mce.c

index 156cdf6d91816c1e8a6f9c2c0bb9cd8d010a9ad9..495c968086685b6e99751d0031110a25c9e2eec6 100644 (file)
@@ -328,6 +328,8 @@ void machine_check_poll(enum mcp_flags flags, mce_banks_t *b)
         * Don't clear MCG_STATUS here because it's only defined for
         * exceptions.
         */
+
+       sync_core();
 }
 EXPORT_SYMBOL_GPL(machine_check_poll);
 
@@ -501,6 +503,7 @@ void do_machine_check(struct pt_regs *regs, long error_code)
        mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
  out2:
        atomic_dec(&mce_entry);
+       sync_core();
 }
 EXPORT_SYMBOL_GPL(do_machine_check);