Skip to content

Commit 96a39ae

Browse files
aksalterJeff Kirsher
authored andcommitted
i40e: Acquire NVM lock before reads on all devices
Acquire NVM lock before reads on all devices. Previously, locks were only used for X722 and later. Fixes an issue where simultaneous X710 NVM accesses were interfering with each other. Change-ID: If570bb7acf958cef58725ec2a2011cead6f80638 Signed-off-by: Aaron Salter <[email protected]> Tested-by: Andrew Bowers <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
1 parent 9c79dda commit 96a39ae

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

drivers/net/ethernet/intel/i40e/i40e_nvm.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -292,14 +292,14 @@ i40e_status i40e_read_nvm_word(struct i40e_hw *hw, u16 offset,
292292
{
293293
enum i40e_status_code ret_code = 0;
294294

295-
if (hw->flags & I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE) {
296-
ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
297-
if (!ret_code) {
295+
ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
296+
if (!ret_code) {
297+
if (hw->flags & I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE) {
298298
ret_code = i40e_read_nvm_word_aq(hw, offset, data);
299-
i40e_release_nvm(hw);
299+
} else {
300+
ret_code = i40e_read_nvm_word_srctl(hw, offset, data);
300301
}
301-
} else {
302-
ret_code = i40e_read_nvm_word_srctl(hw, offset, data);
302+
i40e_release_nvm(hw);
303303
}
304304
return ret_code;
305305
}

0 commit comments

Comments
 (0)