[Intel-wired-lan] [PATCH v1 1/1] e1000e: Do not take care about recovery NVM checksum

Sasha Neftin sasha.neftin at intel.com
Thu Jul 15 07:03:42 UTC 2021


According to the HW De, integrated GbE sets to read-only after
programming a unique MAC address. The driver should not take care of
NVM checksum updating starting from Tiger Lake.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=213667
Suggested-by: Dima Ruinskiy <dima.ruinskiy at intel.com>
Suggested-by: Vitaly Lifshits <vitaly.lifshits at intel.com>
Signed-off-by: Sasha Neftin <sasha.neftin at intel.com>
---
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 9bae4932a11d..e273e14a3419 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -4140,14 +4140,19 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
 	if (ret_val)
 		return ret_val;
 
-	if (!(data & valid_csum_mask)) {
-		data |= valid_csum_mask;
-		ret_val = e1000_write_nvm(hw, word, 1, &data);
-		if (ret_val)
-			return ret_val;
-		ret_val = e1000e_update_nvm_checksum(hw);
-		if (ret_val)
-			return ret_val;
+	if (!(data & valid_csum_mask))
+		e_dbg("NVM Checksum Invalid\n");
+
+	if (hw->mac.type < e1000_pch_cnp) {
+		if (!(data & valid_csum_mask)) {
+			data |= valid_csum_mask;
+			ret_val = e1000_write_nvm(hw, word, 1, &data);
+			if (ret_val)
+				return ret_val;
+			ret_val = e1000e_update_nvm_checksum(hw);
+			if (ret_val)
+				return ret_val;
+		}
 	}
 
 	return e1000e_validate_nvm_checksum_generic(hw);
-- 
2.25.1



More information about the Intel-wired-lan mailing list