aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAristeu Rozanski <arozansk@redhat.com>2014-03-11 15:45:41 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-13 08:52:01 -0400
commitcf40f80cbe374e98283b9865c1295fc74a68fa29 (patch)
treedd10edb9d8afe4f54bede8c1c854228d7b4b5437
parentfa389e220254c69ffae0d403eac4146171062d08 (diff)
sb_edac: use "event" instead of "exception" when MC wasnt signaled
Corrected Errors are MC events, not exceptions and reporting as the later might confuse users. Signed-off-by: Aristeu Rozanski <arozansk@redhat.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/edac/sb_edac.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index 54e2abe671f7..5b174c9dbea4 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -1828,6 +1828,7 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val,
1828 struct mce *mce = (struct mce *)data; 1828 struct mce *mce = (struct mce *)data;
1829 struct mem_ctl_info *mci; 1829 struct mem_ctl_info *mci;
1830 struct sbridge_pvt *pvt; 1830 struct sbridge_pvt *pvt;
1831 char *type;
1831 1832
1832 if (get_edac_report_status() == EDAC_REPORTING_DISABLED) 1833 if (get_edac_report_status() == EDAC_REPORTING_DISABLED)
1833 return NOTIFY_DONE; 1834 return NOTIFY_DONE;
@@ -1846,10 +1847,15 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val,
1846 if ((mce->status & 0xefff) >> 7 != 1) 1847 if ((mce->status & 0xefff) >> 7 != 1)
1847 return NOTIFY_DONE; 1848 return NOTIFY_DONE;
1848 1849
1850 if (mce->mcgstatus & MCG_STATUS_MCIP)
1851 type = "Exception";
1852 else
1853 type = "Event";
1854
1849 printk("sbridge: HANDLING MCE MEMORY ERROR\n"); 1855 printk("sbridge: HANDLING MCE MEMORY ERROR\n");
1850 1856
1851 printk("CPU %d: Machine Check Exception: %Lx Bank %d: %016Lx\n", 1857 printk("CPU %d: Machine Check %s: %Lx Bank %d: %016Lx\n",
1852 mce->extcpu, mce->mcgstatus, mce->bank, mce->status); 1858 mce->extcpu, type, mce->mcgstatus, mce->bank, mce->status);
1853 printk("TSC %llx ", mce->tsc); 1859 printk("TSC %llx ", mce->tsc);
1854 printk("ADDR %llx ", mce->addr); 1860 printk("ADDR %llx ", mce->addr);
1855 printk("MISC %llx ", mce->misc); 1861 printk("MISC %llx ", mce->misc);