3.16.63-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Tony Luck <[email protected]>

commit 432de7fd7630c84ad24f1c2acd1e3bb4ce3741ca upstream.

The count of errors is picked up from bits 52:38 of the machine check
bank status register. But this is the count of *corrected* errors. If an
uncorrected error is being logged, the h/w sets this field to 0. Which
means that when edac_mc_handle_error() is called, the EDAC core will
carefully add zero to the appropriate uncorrected error counts.

Signed-off-by: Tony Luck <[email protected]>
[ Massage commit message. ]
Signed-off-by: Borislav Petkov <[email protected]>
Cc: Aristeu Rozanski <[email protected]>
Cc: Mauro Carvalho Chehab <[email protected]>
Cc: Qiuxu Zhuo <[email protected]>
Cc: linux-edac <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
[bwh: Backported to 3.16: Drop change in skx_edac.c]
Signed-off-by: Ben Hutchings <[email protected]>
---
--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -1729,6 +1729,7 @@ static void i7core_mce_output_error(stru
        u32 errnum = find_first_bit(&error, 32);
 
        if (uncorrected_error) {
+               core_err_cnt = 1;
                if (ripv)
                        tp_event = HW_EVENT_ERR_FATAL;
                else
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -1659,6 +1659,7 @@ static void sbridge_mce_output_error(str
                recoverable = GET_BITFIELD(m->status, 56, 56);
 
        if (uncorrected_error) {
+               core_err_cnt = 1;
                if (ripv) {
                        type = "FATAL";
                        tp_event = HW_EVENT_ERR_FATAL;

Reply via email to