summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitch Williams <mitch.a.williams@intel.com>2015-01-29 07:17:18 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-02-23 17:13:19 -0800
commit748c434bfa956e3ac64793d14d3bdbe7befcb901 (patch)
tree0a66190fcf3c2ef6e74f21ea4410fb8ffec8a599
parent30d71af54d3df9752cee70e320da8d58ec3292b4 (diff)
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>
-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);