]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Aug 2025 08:47:30 +0000 (09:47 +0100)
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>
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;
                }
        }