summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40evf/i40evf_main.c
diff options
context:
space:
mode:
authorMitch Williams2015-01-29 08:17:18 +0100
committerJeff Kirsher2015-02-24 02:13:19 +0100
commit748c434bfa956e3ac64793d14d3bdbe7befcb901 (patch)
tree0a66190fcf3c2ef6e74f21ea4410fb8ffec8a599 /drivers/net/ethernet/intel/i40evf/i40evf_main.c
parenti40e: Fix i40e_ndo_set_vf_spoofchk (diff)
downloadkernel-qcow2-linux-748c434bfa956e3ac64793d14d3bdbe7befcb901.tar.gz
kernel-qcow2-linux-748c434bfa956e3ac64793d14d3bdbe7befcb901.tar.xz
kernel-qcow2-linux-748c434bfa956e3ac64793d14d3bdbe7befcb901.zip
i40evf: disable NAPI polling sooner
When closing the interface, disable NAPI polling before any other activities. This fixes an occasional panic during close caused by the driver trying to delete and clean rings at the same time. Change-ID: Ib4d427b13d310258ea85b248d535da70ecf0c1e9 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Jim Young <james.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/i40evf/i40evf_main.c')
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40evf_main.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index b1ca9ddf50bc..eb1ac2227681 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -959,6 +959,7 @@ void i40evf_down(struct i40evf_adapter *adapter)
usleep_range(500, 1000);
i40evf_irq_disable(adapter);
+ i40evf_napi_disable_all(adapter);
/* remove all MAC filters */
list_for_each_entry(f, &adapter->mac_filter_list, list) {
@@ -985,8 +986,6 @@ void i40evf_down(struct i40evf_adapter *adapter)
netif_tx_stop_all_queues(netdev);
- i40evf_napi_disable_all(adapter);
-
msleep(20);
netif_carrier_off(netdev);