i40evf: avoid an extra msleep while
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 5 Oct 2016 16:30:45 +0000 (09:30 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 31 Oct 2016 21:26:40 +0000 (14:26 -0700)
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>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index bcb1cafdf28a9ef149c1c72183b818395aeeab7e..db36744c6691f941085bd97b3df46c8bec412cea 100644 (file)
@@ -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 */
        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) &
                          I40E_VFGEN_RSTAT_VFR_STATE_MASK;
                if (reg_val == I40E_VFR_VFACTIVE)
                        break;
-               msleep(I40EVF_RESET_WAIT_MS);
        }
+
        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) {
                struct i40evf_mac_filter *ftmp;
                struct i40evf_vlan_filter *fv, *fvtmp;