x86, mce: synchronize core after machine check handling

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>
This commit is contained in:
Andi Kleen 2009-05-27 21:56:51 +02:00 committed by H. Peter Anvin
parent 5706001aac
commit 88921be302
1 changed files with 3 additions and 0 deletions

View 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 * Don't clear MCG_STATUS here because it's only defined for
* exceptions. * exceptions.
*/ */
sync_core();
} }
EXPORT_SYMBOL_GPL(machine_check_poll); 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); mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
out2: out2:
atomic_dec(&mce_entry); atomic_dec(&mce_entry);
sync_core();
} }
EXPORT_SYMBOL_GPL(do_machine_check); EXPORT_SYMBOL_GPL(do_machine_check);