Commit 2fc4cd52 authored by Jean Sacren's avatar Jean Sacren Committed by Jeff Kirsher
Browse files

i40e: fix unconditional execution of cpu_to_le16()

The commit 3092e5e4cc79 ("i40e: add little endian conversion for
checksum") fixed the checksum bug on big-endian architecture.

But we should not execute cpu_to_le16() unconditionally. Thus, put
cpu_to_le16() under certain condition.

Cc: Jesse Brandeburg <>
Cc: Paul M Stillwell Jr <>
Signed-off-by: default avatarJean Sacren <>
Tested-by: default avatarAndrew Bowers <>
Signed-off-by: default avatarJeff Kirsher <>
parent 0e5229c6
......@@ -569,10 +569,11 @@ i40e_status i40e_update_nvm_checksum(struct i40e_hw *hw)
__le16 le_sum;
ret_code = i40e_calc_nvm_checksum(hw, &checksum);
le_sum = cpu_to_le16(checksum);
if (!ret_code)
if (!ret_code) {
le_sum = cpu_to_le16(checksum);
ret_code = i40e_write_nvm_aq(hw, 0x00, I40E_SR_SW_CHECKSUM_WORD,
1, &le_sum, true);
return ret_code;
Supports Markdown
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