sb_edac: use "event" instead of "exception" when MC wasnt signaled
authorAristeu Rozanski <arozansk@redhat.com>
Tue, 11 Mar 2014 19:45:41 +0000 (15:45 -0400)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 13 Mar 2014 12:52:01 +0000 (09:52 -0300)
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>
drivers/edac/sb_edac.c

index 54e2abe..5b174c9 100644 (file)
@@ -1828,6 +1828,7 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val,
        struct mce *mce = (struct mce *)data;
        struct mem_ctl_info *mci;
        struct sbridge_pvt *pvt;
+       char *type;
 
        if (get_edac_report_status() == EDAC_REPORTING_DISABLED)
                return NOTIFY_DONE;
@@ -1846,10 +1847,15 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val,
        if ((mce->status & 0xefff) >> 7 != 1)
                return NOTIFY_DONE;
 
+       if (mce->mcgstatus & MCG_STATUS_MCIP)
+               type = "Exception";
+       else
+               type = "Event";
+
        printk("sbridge: HANDLING MCE MEMORY ERROR\n");
 
-       printk("CPU %d: Machine Check Exception: %Lx Bank %d: %016Lx\n",
-              mce->extcpu, mce->mcgstatus, mce->bank, mce->status);
+       printk("CPU %d: Machine Check %s: %Lx Bank %d: %016Lx\n",
+              mce->extcpu, type, mce->mcgstatus, mce->bank, mce->status);
        printk("TSC %llx ", mce->tsc);
        printk("ADDR %llx ", mce->addr);
        printk("MISC %llx ", mce->misc);