mirror of https://gitee.com/openkylin/linux.git
fm10k: avoid needless delay when loading driver
When we load the driver, we set the last_reset to be in the future, which delays the initial driver reset. Additionally, the service task isn't scheduled to run automatically until the timer runs out. This causes a needless delay of the first reset to begin talking to the switch manager. We can avoid this by simply not setting last_reset and immediately scheduling the service task while in probe. This allows the device to wake up faster, and avoids this delay. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Krishneil Singh <krishneil.k.singh@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
523a0b558d
commit
8bac58be17
|
@ -1800,9 +1800,6 @@ static int fm10k_sw_init(struct fm10k_intfc *interface,
|
|||
netdev->vlan_features |= NETIF_F_HIGHDMA;
|
||||
}
|
||||
|
||||
/* delay any future reset requests */
|
||||
interface->last_reset = jiffies + (10 * HZ);
|
||||
|
||||
/* reset and initialize the hardware so it is in a known state */
|
||||
err = hw->mac.ops.reset_hw(hw);
|
||||
if (err) {
|
||||
|
@ -2079,8 +2076,9 @@ static int fm10k_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
/* enable SR-IOV after registering netdev to enforce PF/VF ordering */
|
||||
fm10k_iov_configure(pdev, 0);
|
||||
|
||||
/* clear the service task disable bit to allow service task to start */
|
||||
/* clear the service task disable bit and kick off service task */
|
||||
clear_bit(__FM10K_SERVICE_DISABLE, interface->state);
|
||||
fm10k_service_event_schedule(interface);
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue