提交 cf40f80c 编写于 作者: A Aristeu Rozanski 提交者: Mauro Carvalho Chehab

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: NAristeu Rozanski <arozansk@redhat.com>
Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
上级 fa389e22
...@@ -1828,6 +1828,7 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val, ...@@ -1828,6 +1828,7 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val,
struct mce *mce = (struct mce *)data; struct mce *mce = (struct mce *)data;
struct mem_ctl_info *mci; struct mem_ctl_info *mci;
struct sbridge_pvt *pvt; struct sbridge_pvt *pvt;
char *type;
if (get_edac_report_status() == EDAC_REPORTING_DISABLED) if (get_edac_report_status() == EDAC_REPORTING_DISABLED)
return NOTIFY_DONE; return NOTIFY_DONE;
...@@ -1846,10 +1847,15 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val, ...@@ -1846,10 +1847,15 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val,
if ((mce->status & 0xefff) >> 7 != 1) if ((mce->status & 0xefff) >> 7 != 1)
return NOTIFY_DONE; return NOTIFY_DONE;
if (mce->mcgstatus & MCG_STATUS_MCIP)
type = "Exception";
else
type = "Event";
printk("sbridge: HANDLING MCE MEMORY ERROR\n"); printk("sbridge: HANDLING MCE MEMORY ERROR\n");
printk("CPU %d: Machine Check Exception: %Lx Bank %d: %016Lx\n", printk("CPU %d: Machine Check %s: %Lx Bank %d: %016Lx\n",
mce->extcpu, mce->mcgstatus, mce->bank, mce->status); mce->extcpu, type, mce->mcgstatus, mce->bank, mce->status);
printk("TSC %llx ", mce->tsc); printk("TSC %llx ", mce->tsc);
printk("ADDR %llx ", mce->addr); printk("ADDR %llx ", mce->addr);
printk("MISC %llx ", mce->misc); printk("MISC %llx ", mce->misc);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册