summaryrefslogtreecommitdiffstats
path: root/drivers/edac/mce_amd.c
diff options
context:
space:
mode:
authorBorislav Petkov <borislav.petkov@amd.com>2010-08-31 18:38:24 +0200
committerBorislav Petkov <bp@amd64.org>2010-10-21 14:48:03 +0200
commitfe4ea2623bec3e595f8e77a8514307c389c096ae (patch)
tree91a9bab933faace5c4ebbd47cb200cee4dbff519 /drivers/edac/mce_amd.c
parentEDAC, MCE: Complete NB MCE decoders (diff)
downloadlinux-fe4ea2623bec3e595f8e77a8514307c389c096ae.tar.xz
linux-fe4ea2623bec3e595f8e77a8514307c389c096ae.zip
EDAC, MCE: Fix FR MCEs decoding
Those are N/A on K8, so don't decode them there. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Diffstat (limited to 'drivers/edac/mce_amd.c')
-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);
static void amd_decode_fr_mce(struct mce *m)
{
+ if (boot_cpu_data.x86 == 0xf)
+ goto wrong_fr_mce;
+
/* we have only one error signature so match all fields at once. */
- if ((m->status & 0xffff) == 0x0f0f)
- pr_emerg(HW_ERR " FR Error: CPU Watchdog timer expire.\n");
- else
- pr_emerg(HW_ERR "Corrupted FR MCE info?\n");
+ if ((m->status & 0xffff) == 0x0f0f) {
+ pr_emerg(HW_ERR "FR Error: CPU Watchdog timer expire.\n");
+ return;
+ }
+
+wrong_fr_mce:
+ pr_emerg(HW_ERR "Corrupted FR MCE info?\n");
}
static inline void amd_decode_err_code(u16 ec)