diff options
author | Borislav Petkov <borislav.petkov@amd.com> | 2010-08-31 18:38:24 +0200 |
---|---|---|
committer | Borislav Petkov <bp@amd64.org> | 2010-10-21 14:48:03 +0200 |
commit | fe4ea2623bec3e595f8e77a8514307c389c096ae (patch) | |
tree | 91a9bab933faace5c4ebbd47cb200cee4dbff519 | |
parent | EDAC, MCE: Complete NB MCE decoders (diff) | |
download | linux-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>
-rw-r--r-- | drivers/edac/mce_amd.c | 14 |
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) |