]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
e1000e: disregard NVM checksum on tgp when valid checksum bit is not set
authorJacek Kowalski <jacek@jacekk.info>
Mon, 30 Jun 2025 08:33:39 +0000 (10:33 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 21 Jul 2025 17:31:09 +0000 (10:31 -0700)
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>
drivers/net/ethernet/intel/e1000e/ich8lan.c

index 364378133526a17ea5fb18538ccc315545d7fff7..df4e7d781cb1cb86b878ff345b000c384bb74b33 100644 (file)
@@ -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;
                }
        }