aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/iface.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r--net/mac80211/iface.c14
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;