|
@@ -971,8 +971,10 @@ void i40evf_down(struct i40evf_adapter *adapter)
|
|
|
&adapter->crit_section))
|
|
|
usleep_range(500, 1000);
|
|
|
|
|
|
- i40evf_irq_disable(adapter);
|
|
|
+ netif_carrier_off(netdev);
|
|
|
+ netif_tx_disable(netdev);
|
|
|
i40evf_napi_disable_all(adapter);
|
|
|
+ i40evf_irq_disable(adapter);
|
|
|
|
|
|
/* remove all MAC filters */
|
|
|
list_for_each_entry(f, &adapter->mac_filter_list, list) {
|
|
@@ -995,13 +997,7 @@ void i40evf_down(struct i40evf_adapter *adapter)
|
|
|
adapter->aq_required |= I40EVF_FLAG_AQ_DEL_VLAN_FILTER;
|
|
|
adapter->aq_required |= I40EVF_FLAG_AQ_DISABLE_QUEUES;
|
|
|
}
|
|
|
- netif_tx_disable(netdev);
|
|
|
|
|
|
- netif_tx_stop_all_queues(netdev);
|
|
|
-
|
|
|
- msleep(20);
|
|
|
-
|
|
|
- netif_carrier_off(netdev);
|
|
|
clear_bit(__I40EVF_IN_CRITICAL_TASK, &adapter->crit_section);
|
|
|
}
|
|
|
|