Commit 54f455ee authored by Mitch Williams's avatar Mitch Williams Committed by Jeff Kirsher

i40e: do a proper reset when disabling a VF

The VF disable code was just whanging on the reset bit without properly
cleaning up the VF, which would leave the VF in an indeterminate state
from which it could not recover. Fix this by notifying the VF and then
by calling the normal VF reset routine.

Change-ID: I862b9dfa919368773cbdc212b805b520db2f7430
Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
Tested-by: default avatarJim Young <james.m.young@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent e995163c
...@@ -160,13 +160,8 @@ void i40e_vc_notify_vf_reset(struct i40e_vf *vf) ...@@ -160,13 +160,8 @@ void i40e_vc_notify_vf_reset(struct i40e_vf *vf)
**/ **/
static inline void i40e_vc_disable_vf(struct i40e_pf *pf, struct i40e_vf *vf) static inline void i40e_vc_disable_vf(struct i40e_pf *pf, struct i40e_vf *vf)
{ {
struct i40e_hw *hw = &pf->hw; i40e_vc_notify_vf_reset(vf);
u32 reg; i40e_reset_vf(vf, false);
reg = rd32(hw, I40E_VPGEN_VFRTRIG(vf->vf_id));
reg |= I40E_VPGEN_VFRTRIG_VFSWR_MASK;
wr32(hw, I40E_VPGEN_VFRTRIG(vf->vf_id), reg);
i40e_flush(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