i40evf: disable NAPI polling sooner
authorMitch Williams <mitch.a.williams@intel.com>
Thu, 29 Jan 2015 07:17:18 +0000 (07:17 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 24 Feb 2015 01:13:19 +0000 (17:13 -0800)
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>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index b1ca9dd..eb1ac22 100644 (file)
@@ -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);