From 37fd775a26dbfbe42c256e893b72d04a94ab5959 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Thu, 5 Sep 2013 22:04:47 -0700 Subject: [PATCH] kernel - Fix minor reporting bug in ecc update * Fix a minor constant comparison test when reporting invalid ECC modes. The constants were normalized to bit 0 but the register extraction had not been shifted over. --- sys/dev/misc/ecc/ecc_e31200.c | 2 ++ sys/dev/misc/ecc/ecc_e31200_reg.h | 1 + 2 files changed, 3 insertions(+) diff --git a/sys/dev/misc/ecc/ecc_e31200.c b/sys/dev/misc/ecc/ecc_e31200.c index fe879aa3e4..b0b4b7c018 100644 --- a/sys/dev/misc/ecc/ecc_e31200.c +++ b/sys/dev/misc/ecc/ecc_e31200.c @@ -247,6 +247,8 @@ ecc_e31200_attach(device_t dev) ecc_mode0 = dimm_ch0 & MCH_E31200_DIMM_ECC; ecc_mode1 = dimm_ch1 & MCH_E31200_DIMM_ECC; + ecc_mode0 >>= MCH_E31200_DIMM_ECC_SHIFT; + ecc_mode1 >>= MCH_E31200_DIMM_ECC_SHIFT; /* * Only active ALL/NONE is supported diff --git a/sys/dev/misc/ecc/ecc_e31200_reg.h b/sys/dev/misc/ecc/ecc_e31200_reg.h index 69a0766c01..82498efac1 100644 --- a/sys/dev/misc/ecc/ecc_e31200_reg.h +++ b/sys/dev/misc/ecc/ecc_e31200_reg.h @@ -64,6 +64,7 @@ /* enchanced interleave */ #define MCH_E31200_DIMM_ENHI __BIT(22) #define MCH_E31200_DIMM_ECC __BITS(24, 25) +#define MCH_E31200_DIMM_ECC_SHIFT 24 #define MCH_E31200_DIMM_ECC_NONE 0x0 #define MCH_E31200_DIMM_ECC_IO 0x1 #define MCH_E31200_DIMM_ECC_LOGIC 0x2 -- 2.41.0