aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edac')
-rw-r--r--drivers/edac/mce_amd.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c
index d8d1c9de1ed6..83b7b5fcee7f 100644
--- a/drivers/edac/mce_amd.c
+++ b/drivers/edac/mce_amd.c
@@ -487,11 +487,17 @@ EXPORT_SYMBOL_GPL(amd_decode_nb_mce);
487 487
488static void amd_decode_fr_mce(struct mce *m) 488static void amd_decode_fr_mce(struct mce *m)
489{ 489{
490 if (boot_cpu_data.x86 == 0xf)
491 goto wrong_fr_mce;
492
490 /* we have only one error signature so match all fields at once. */ 493 /* we have only one error signature so match all fields at once. */
491 if ((m->status & 0xffff) == 0x0f0f) 494 if ((m->status & 0xffff) == 0x0f0f) {
492 pr_emerg(HW_ERR " FR Error: CPU Watchdog timer expire.\n"); 495 pr_emerg(HW_ERR "FR Error: CPU Watchdog timer expire.\n");
493 else 496 return;
494 pr_emerg(HW_ERR "Corrupted FR MCE info?\n"); 497 }
498
499wrong_fr_mce:
500 pr_emerg(HW_ERR "Corrupted FR MCE info?\n");
495} 501}
496 502
497static inline void amd_decode_err_code(u16 ec) 503static inline void amd_decode_err_code(u16 ec)