aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorMitch Williams <mitch.a.williams@intel.com>2015-01-29 02:17:18 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-02-23 20:13:19 -0500
commit748c434bfa956e3ac64793d14d3bdbe7befcb901 (patch)
tree0a66190fcf3c2ef6e74f21ea4410fb8ffec8a599 /drivers/net/ethernet
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>
Diffstat (limited to 'drivers/net/ethernet')
-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)
959 usleep_range(500, 1000); 959 usleep_range(500, 1000);
960 960
961 i40evf_irq_disable(adapter); 961 i40evf_irq_disable(adapter);
962 i40evf_napi_disable_all(adapter);
962 963
963 /* remove all MAC filters */ 964 /* remove all MAC filters */
964 list_for_each_entry(f, &adapter->mac_filter_list, list) { 965 list_for_each_entry(f, &adapter->mac_filter_list, list) {
@@ -985,8 +986,6 @@ void i40evf_down(struct i40evf_adapter *adapter)
985 986
986 netif_tx_stop_all_queues(netdev); 987 netif_tx_stop_all_queues(netdev);
987 988
988 i40evf_napi_disable_all(adapter);
989
990 msleep(20); 989 msleep(20);
991 990
992 netif_carrier_off(netdev); 991 netif_carrier_off(netdev);