diff options
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index da901f4b9c18..b08efafee1ae 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c | |||
@@ -971,8 +971,10 @@ void i40evf_down(struct i40evf_adapter *adapter) | |||
971 | &adapter->crit_section)) | 971 | &adapter->crit_section)) |
972 | usleep_range(500, 1000); | 972 | usleep_range(500, 1000); |
973 | 973 | ||
974 | i40evf_irq_disable(adapter); | 974 | netif_carrier_off(netdev); |
975 | netif_tx_disable(netdev); | ||
975 | i40evf_napi_disable_all(adapter); | 976 | i40evf_napi_disable_all(adapter); |
977 | i40evf_irq_disable(adapter); | ||
976 | 978 | ||
977 | /* remove all MAC filters */ | 979 | /* remove all MAC filters */ |
978 | list_for_each_entry(f, &adapter->mac_filter_list, list) { | 980 | list_for_each_entry(f, &adapter->mac_filter_list, list) { |
@@ -995,13 +997,7 @@ void i40evf_down(struct i40evf_adapter *adapter) | |||
995 | adapter->aq_required |= I40EVF_FLAG_AQ_DEL_VLAN_FILTER; | 997 | adapter->aq_required |= I40EVF_FLAG_AQ_DEL_VLAN_FILTER; |
996 | adapter->aq_required |= I40EVF_FLAG_AQ_DISABLE_QUEUES; | 998 | adapter->aq_required |= I40EVF_FLAG_AQ_DISABLE_QUEUES; |
997 | } | 999 | } |
998 | netif_tx_disable(netdev); | ||
999 | 1000 | ||
1000 | netif_tx_stop_all_queues(netdev); | ||
1001 | |||
1002 | msleep(20); | ||
1003 | |||
1004 | netif_carrier_off(netdev); | ||
1005 | clear_bit(__I40EVF_IN_CRITICAL_TASK, &adapter->crit_section); | 1001 | clear_bit(__I40EVF_IN_CRITICAL_TASK, &adapter->crit_section); |
1006 | } | 1002 | } |
1007 | 1003 | ||