EDAC, amd64: Add Deferred Error type
authorYazen Ghannam <Yazen.Ghannam@amd.com>
Thu, 17 Nov 2016 22:57:32 +0000 (17:57 -0500)
committerBorislav Petkov <bp@suse.de>
Mon, 21 Nov 2016 09:57:19 +0000 (10:57 +0100)
Currently, deferred errors are classified as correctable in EDAC. Add a
new error type for deferred errors so that they are correctly reported
to the user.

Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
Cc: Aravind Gopalakrishnan <aravindksg.lkml@gmail.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Link: http://lkml.kernel.org/r/1479423463-8536-7-git-send-email-Yazen.Ghannam@amd.com
Signed-off-by: Borislav Petkov <bp@suse.de>
drivers/edac/amd64_edac.c
include/linux/edac.h

index aaff0b9..dd45cff 100644 (file)
@@ -2165,6 +2165,8 @@ static void __log_ecc_error(struct mem_ctl_info *mci, struct err_info *err,
                err_type = HW_EVENT_ERR_CORRECTED;
        else if (ecc_type == 1)
                err_type = HW_EVENT_ERR_UNCORRECTED;
+       else if (ecc_type == 3)
+               err_type = HW_EVENT_ERR_DEFERRED;
        else {
                WARN(1, "Something is rotten in the state of Denmark.\n");
                return;
index bf2bf87..cb56dcb 100644 (file)
@@ -134,6 +134,7 @@ enum dev_type {
 enum hw_event_mc_err_type {
        HW_EVENT_ERR_CORRECTED,
        HW_EVENT_ERR_UNCORRECTED,
+       HW_EVENT_ERR_DEFERRED,
        HW_EVENT_ERR_FATAL,
        HW_EVENT_ERR_INFO,
 };
@@ -145,6 +146,8 @@ static inline char *mc_event_error_type(const unsigned int err_type)
                return "Corrected";
        case HW_EVENT_ERR_UNCORRECTED:
                return "Uncorrected";
+       case HW_EVENT_ERR_DEFERRED:
+               return "Deferred";
        case HW_EVENT_ERR_FATAL:
                return "Fatal";
        default: