mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-06 12:44:14 +08:00
i40e: fix handling of vf_states variable
Currently we inappropriately clear the vf_states variable with a null assignment. This is problematic because we should be using atomic bitops on this variable and we don't actually want to clear all the flags. We should just clear the ones we know we want to clear. Additionally remove the I40E_VF_STATE_FCOEENA bit because it is no longer being used. Signed-off-by: Alan Brady <alan.brady@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
1b7b7596ae
commit
41d0a4d0c8
@ -879,7 +879,8 @@ static void i40e_free_vf_res(struct i40e_vf *vf)
|
||||
}
|
||||
/* reset some of the state variables keeping track of the resources */
|
||||
vf->num_queue_pairs = 0;
|
||||
vf->vf_states = 0;
|
||||
clear_bit(I40E_VF_STATE_MC_PROMISC, &vf->vf_states);
|
||||
clear_bit(I40E_VF_STATE_UC_PROMISC, &vf->vf_states);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1586,6 +1587,8 @@ static int i40e_vc_get_vf_resources_msg(struct i40e_vf *vf, u8 *msg)
|
||||
(vf->driver_caps & VIRTCHNL_VF_OFFLOAD_IWARP)) {
|
||||
vfres->vf_cap_flags |= VIRTCHNL_VF_OFFLOAD_IWARP;
|
||||
set_bit(I40E_VF_STATE_IWARPENA, &vf->vf_states);
|
||||
} else {
|
||||
clear_bit(I40E_VF_STATE_IWARPENA, &vf->vf_states);
|
||||
}
|
||||
|
||||
if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RSS_PF) {
|
||||
|
@ -56,7 +56,6 @@ enum i40e_vf_states {
|
||||
I40E_VF_STATE_INIT = 0,
|
||||
I40E_VF_STATE_ACTIVE,
|
||||
I40E_VF_STATE_IWARPENA,
|
||||
I40E_VF_STATE_FCOEENA,
|
||||
I40E_VF_STATE_DISABLED,
|
||||
I40E_VF_STATE_MC_PROMISC,
|
||||
I40E_VF_STATE_UC_PROMISC,
|
||||
|
Loading…
Reference in New Issue
Block a user