diff options
author | Borislav Petkov <borislav.petkov@amd.com> | 2010-08-31 16:38:24 (GMT) |
---|---|---|
committer | Borislav Petkov <bp@amd64.org> | 2010-10-21 12:48:03 (GMT) |
commit | fe4ea2623bec3e595f8e77a8514307c389c096ae (patch) | |
tree | 91a9bab933faace5c4ebbd47cb200cee4dbff519 /drivers/edac | |
parent | 5ce88f6ea6bef929f59f9468413f922c9a486fa4 (diff) | |
download | linux-fsl-qoriq-fe4ea2623bec3e595f8e77a8514307c389c096ae.tar.xz |
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')
-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 d8d1c9d..83b7b5f 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) |