EDAC, MCE: Fix FR MCEs decoding
authorBorislav Petkov <borislav.petkov@amd.com>
Tue, 31 Aug 2010 16:38:24 +0000 (18:38 +0200)
committerBorislav Petkov <bp@amd64.org>
Thu, 21 Oct 2010 12:48:03 +0000 (14:48 +0200)
Those are N/A on K8, so don't decode them there.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
drivers/edac/mce_amd.c

index d8d1c9de1ed60d5222067a2bc068e285cd608baf..83b7b5fcee7fa8bf062d0f5af6edd41cee670ecf 100644 (file)
@@ -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)