Commit 4051f683 authored by Sasha Neftin's avatar Sasha Neftin Committed by Tony Nguyen

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: fb776f5d ("e1000e: Add support for Tiger Lake")
Suggested-by: default avatarDima Ruinskiy <dima.ruinskiy@intel.com>
Suggested-by: default avatarVitaly Lifshits <vitaly.lifshits@intel.com>
Signed-off-by: default avatarSasha Neftin <sasha.neftin@intel.com>
Tested-by: default avatarDvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 44a13a5d
...@@ -4127,13 +4127,17 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw) ...@@ -4127,13 +4127,17 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
return ret_val; return ret_val;
if (!(data & valid_csum_mask)) { if (!(data & valid_csum_mask)) {
data |= valid_csum_mask; e_dbg("NVM Checksum Invalid\n");
ret_val = e1000_write_nvm(hw, word, 1, &data);
if (ret_val) if (hw->mac.type < e1000_pch_cnp) {
return ret_val; data |= valid_csum_mask;
ret_val = e1000e_update_nvm_checksum(hw); ret_val = e1000_write_nvm(hw, word, 1, &data);
if (ret_val) if (ret_val)
return 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); return e1000e_validate_nvm_checksum_generic(hw);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment