diff options
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index baaa8608e52d..d85282f64405 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -485,8 +485,6 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up) | |||
485 | res = drv_start(local); | 485 | res = drv_start(local); |
486 | if (res) | 486 | if (res) |
487 | goto err_del_bss; | 487 | goto err_del_bss; |
488 | if (local->ops->napi_poll) | ||
489 | napi_enable(&local->napi); | ||
490 | /* we're brought up, everything changes */ | 488 | /* we're brought up, everything changes */ |
491 | hw_reconf_flags = ~0; | 489 | hw_reconf_flags = ~0; |
492 | ieee80211_led_radio(local, true); | 490 | ieee80211_led_radio(local, true); |
@@ -838,14 +836,16 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, | |||
838 | rcu_barrier(); | 836 | rcu_barrier(); |
839 | sta_info_flush_cleanup(sdata); | 837 | sta_info_flush_cleanup(sdata); |
840 | 838 | ||
841 | skb_queue_purge(&sdata->skb_queue); | ||
842 | |||
843 | /* | 839 | /* |
844 | * Free all remaining keys, there shouldn't be any, | 840 | * Free all remaining keys, there shouldn't be any, |
845 | * except maybe group keys in AP more or WDS? | 841 | * except maybe in WDS mode? |
846 | */ | 842 | */ |
847 | ieee80211_free_keys(sdata); | 843 | ieee80211_free_keys(sdata); |
848 | 844 | ||
845 | /* fall through */ | ||
846 | case NL80211_IFTYPE_AP: | ||
847 | skb_queue_purge(&sdata->skb_queue); | ||
848 | |||
849 | drv_remove_interface_debugfs(local, sdata); | 849 | drv_remove_interface_debugfs(local, sdata); |
850 | 850 | ||
851 | if (going_down) | 851 | if (going_down) |
@@ -857,8 +857,6 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, | |||
857 | ieee80211_recalc_ps(local, -1); | 857 | ieee80211_recalc_ps(local, -1); |
858 | 858 | ||
859 | if (local->open_count == 0) { | 859 | if (local->open_count == 0) { |
860 | if (local->ops->napi_poll) | ||
861 | napi_disable(&local->napi); | ||
862 | ieee80211_clear_tx_pending(local); | 860 | ieee80211_clear_tx_pending(local); |
863 | ieee80211_stop_device(local); | 861 | ieee80211_stop_device(local); |
864 | 862 | ||
@@ -1547,6 +1545,8 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name, | |||
1547 | INIT_WORK(&sdata->cleanup_stations_wk, ieee80211_cleanup_sdata_stas_wk); | 1545 | INIT_WORK(&sdata->cleanup_stations_wk, ieee80211_cleanup_sdata_stas_wk); |
1548 | INIT_DELAYED_WORK(&sdata->dfs_cac_timer_work, | 1546 | INIT_DELAYED_WORK(&sdata->dfs_cac_timer_work, |
1549 | ieee80211_dfs_cac_timer_work); | 1547 | ieee80211_dfs_cac_timer_work); |
1548 | INIT_DELAYED_WORK(&sdata->dec_tailroom_needed_wk, | ||
1549 | ieee80211_delayed_tailroom_dec); | ||
1550 | 1550 | ||
1551 | for (i = 0; i < IEEE80211_NUM_BANDS; i++) { | 1551 | for (i = 0; i < IEEE80211_NUM_BANDS; i++) { |
1552 | struct ieee80211_supported_band *sband; | 1552 | struct ieee80211_supported_band *sband; |