i40evf: avoid an extra msleep while
Remove the second call to msleep outside the loop, and move the msleep within the loop as the first step. This guarantees that a single loop will wait the minimum time first, and then after the reset finishes we no longer need an extra msleep. Change-ID: Ib2086f0a142402b614f67846bc091754203a0b9a Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>hifive-unleashed-5.1
parent
124905012d
commit
7d3f04af69
|
@ -1746,15 +1746,17 @@ static void i40evf_reset_task(struct work_struct *work)
|
||||||
|
|
||||||
/* wait until the reset is complete and the PF is responding to us */
|
/* wait until the reset is complete and the PF is responding to us */
|
||||||
for (i = 0; i < I40EVF_RESET_WAIT_COUNT; i++) {
|
for (i = 0; i < I40EVF_RESET_WAIT_COUNT; i++) {
|
||||||
|
/* sleep first to make sure a minimum wait time is met */
|
||||||
|
msleep(I40EVF_RESET_WAIT_MS);
|
||||||
|
|
||||||
reg_val = rd32(hw, I40E_VFGEN_RSTAT) &
|
reg_val = rd32(hw, I40E_VFGEN_RSTAT) &
|
||||||
I40E_VFGEN_RSTAT_VFR_STATE_MASK;
|
I40E_VFGEN_RSTAT_VFR_STATE_MASK;
|
||||||
if (reg_val == I40E_VFR_VFACTIVE)
|
if (reg_val == I40E_VFR_VFACTIVE)
|
||||||
break;
|
break;
|
||||||
msleep(I40EVF_RESET_WAIT_MS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pci_set_master(adapter->pdev);
|
pci_set_master(adapter->pdev);
|
||||||
/* extra wait to make sure minimum wait is met */
|
|
||||||
msleep(I40EVF_RESET_WAIT_MS);
|
|
||||||
if (i == I40EVF_RESET_WAIT_COUNT) {
|
if (i == I40EVF_RESET_WAIT_COUNT) {
|
||||||
struct i40evf_mac_filter *ftmp;
|
struct i40evf_mac_filter *ftmp;
|
||||||
struct i40evf_vlan_filter *fv, *fvtmp;
|
struct i40evf_vlan_filter *fv, *fvtmp;
|
||||||
|
|
Loading…
Reference in New Issue