summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacek Kowalski <jacek@jacekk.info>2025-06-30 10:33:39 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-01 09:47:30 +0100
commit1624f9de443230c182d16384e8f6f0d9e31b7222 (patch)
treeb210e1da718286af7949e912813ac61e748a8286
parent04d098fbca47efbc39bf2de18023c85e862501f5 (diff)
downloadlinux-1624f9de443230c182d16384e8f6f0d9e31b7222.tar.gz
linux-1624f9de443230c182d16384e8f6f0d9e31b7222.tar.bz2
linux-1624f9de443230c182d16384e8f6f0d9e31b7222.zip
e1000e: disregard NVM checksum on tgp when valid checksum bit is not set
commit 536fd741c7ac907d63166cdae1081b1febfab613 upstream. As described by Vitaly Lifshits: > Starting from Tiger Lake, LAN NVM is locked for writes by SW, so the > driver cannot perform checksum validation and correction. This means > that all NVM images must leave the factory with correct checksum and > checksum valid bit set. Since Tiger Lake devices were the first to have > this lock, some systems in the field did not meet this requirement. > Therefore, for these transitional devices we skip checksum update and > verification, if the valid bit is not set. Signed-off-by: Jacek Kowalski <jacek@jacekk.info> Reviewed-by: Simon Horman <horms@kernel.org> Reviewed-by: Vitaly Lifshits <vitaly.lifshits@intel.com> Fixes: 4051f68318ca9 ("e1000e: Do not take care about recovery NVM checksum") Cc: stable@vger.kernel.org Tested-by: Mor Bar-Gabay <morx.bar.gabay@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/ethernet/intel/e1000e/ich8lan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 364378133526..df4e7d781cb1 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -4274,6 +4274,8 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
ret_val = e1000e_update_nvm_checksum(hw);
if (ret_val)
return ret_val;
+ } else if (hw->mac.type == e1000_pch_tgp) {
+ return 0;
}
}