aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAravind Gopalakrishnan <aravind.gopalakrishnan@amd.com>2015-07-13 07:53:02 -0400
committerBorislav Petkov <bp@suse.de>2015-07-14 00:32:53 -0400
commit99e1dfb7d2094d9afc1dca57d525f7b36aa18079 (patch)
tree0fa79a761aa50d0fad914326d8f9a42bf6bcb64b
parentca12bb14fee138603d17b1d68906abeebaa09b30 (diff)
EDAC, mce_amd: Don't emit 'CE' for Deferred error
Currently, when decoding an MCE, we display 'CE' for a Deferred error, like this: [Hardware Error]: CPU:0 (15:2:0) MC4_STATUS[Over|CE|MiscV|-|AddrV|Deferred|-|UECC]: 0xdc04b00095080813 When the 'UC' bit in the MCx_STATUS register is clear, the error status is either a Corrected error or Deferred error as determined by the 'Deferred' bit. So do not print 'CE' on a deferred error. Refer to AMD Error Scope Hierarchy table in a newer BKDG (example: 49125_15h_Models_30h-3Fh_BKDG.pdf, section "RAS Features"). Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@amd.com> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Cc: linux-edac <linux-edac@vger.kernel.org> Link: http://lkml.kernel.org/r/1436788382-6463-1-git-send-email-aravind.gopalakrishnan@amd.com Signed-off-by: Borislav Petkov <bp@suse.de>
-rw-r--r--drivers/edac/mce_amd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c
index 58586d59bf8e..e3a945ce374b 100644
--- a/drivers/edac/mce_amd.c
+++ b/drivers/edac/mce_amd.c
@@ -763,7 +763,8 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data)
763 c->x86, c->x86_model, c->x86_mask, 763 c->x86, c->x86_model, c->x86_mask,
764 m->bank, 764 m->bank,
765 ((m->status & MCI_STATUS_OVER) ? "Over" : "-"), 765 ((m->status & MCI_STATUS_OVER) ? "Over" : "-"),
766 ((m->status & MCI_STATUS_UC) ? "UE" : "CE"), 766 ((m->status & MCI_STATUS_UC) ? "UE" :
767 (m->status & MCI_STATUS_DEFERRED) ? "-" : "CE"),
767 ((m->status & MCI_STATUS_MISCV) ? "MiscV" : "-"), 768 ((m->status & MCI_STATUS_MISCV) ? "MiscV" : "-"),
768 ((m->status & MCI_STATUS_PCC) ? "PCC" : "-"), 769 ((m->status & MCI_STATUS_PCC) ? "PCC" : "-"),
769 ((m->status & MCI_STATUS_ADDRV) ? "AddrV" : "-")); 770 ((m->status & MCI_STATUS_ADDRV) ? "AddrV" : "-"));