Skip to content

Commit 4051f68

Browse files
aneftinanguy11
authored andcommitted
e1000e: Do not take care about recovery NVM checksum
On new platforms, the NVM is read-only. Attempting to update the NVM is causing a lockup to occur. Do not attempt to write to the NVM on platforms where it's not supported. Emit an error message when the NVM checksum is invalid. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=213667 Fixes: fb776f5 ("e1000e: Add support for Tiger Lake") Suggested-by: Dima Ruinskiy <[email protected]> Suggested-by: Vitaly Lifshits <[email protected]> Signed-off-by: Sasha Neftin <[email protected]> Tested-by: Dvora Fuxbrumer <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
1 parent 44a13a5 commit 4051f68

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

drivers/net/ethernet/intel/e1000e/ich8lan.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4127,13 +4127,17 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
41274127
return ret_val;
41284128

41294129
if (!(data & valid_csum_mask)) {
4130-
data |= valid_csum_mask;
4131-
ret_val = e1000_write_nvm(hw, word, 1, &data);
4132-
if (ret_val)
4133-
return ret_val;
4134-
ret_val = e1000e_update_nvm_checksum(hw);
4135-
if (ret_val)
4136-
return ret_val;
4130+
e_dbg("NVM Checksum Invalid\n");
4131+
4132+
if (hw->mac.type < e1000_pch_cnp) {
4133+
data |= valid_csum_mask;
4134+
ret_val = e1000_write_nvm(hw, word, 1, &data);
4135+
if (ret_val)
4136+
return ret_val;
4137+
ret_val = e1000e_update_nvm_checksum(hw);
4138+
if (ret_val)
4139+
return ret_val;
4140+
}
41374141
}
41384142

41394143
return e1000e_validate_nvm_checksum_generic(hw);

0 commit comments

Comments
 (0)