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 3bfe2612c8c2..7530c60fe502 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -488,8 +488,6 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
488 res = drv_start(local); 488 res = drv_start(local);
489 if (res) 489 if (res)
490 goto err_del_bss; 490 goto err_del_bss;
491 if (local->ops->napi_poll)
492 napi_enable(&local->napi);
493 /* we're brought up, everything changes */ 491 /* we're brought up, everything changes */
494 hw_reconf_flags = ~0; 492 hw_reconf_flags = ~0;
495 ieee80211_led_radio(local, true); 493 ieee80211_led_radio(local, true);
@@ -841,14 +839,16 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
841 rcu_barrier(); 839 rcu_barrier();
842 sta_info_flush_cleanup(sdata); 840 sta_info_flush_cleanup(sdata);
843 841
844 skb_queue_purge(&sdata->skb_queue);
845
846 /* 842 /*
847 * Free all remaining keys, there shouldn't be any, 843 * Free all remaining keys, there shouldn't be any,
848 * except maybe group keys in AP more or WDS? 844 * except maybe in WDS mode?
849 */ 845 */
850 ieee80211_free_keys(sdata); 846 ieee80211_free_keys(sdata);
851 847
848 /* fall through */
849 case NL80211_IFTYPE_AP:
850 skb_queue_purge(&sdata->skb_queue);
851
852 drv_remove_interface_debugfs(local, sdata); 852 drv_remove_interface_debugfs(local, sdata);
853 853
854 if (going_down) 854 if (going_down)
@@ -860,8 +860,6 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
860 ieee80211_recalc_ps(local, -1); 860 ieee80211_recalc_ps(local, -1);
861 861
862 if (local->open_count == 0) { 862 if (local->open_count == 0) {
863 if (local->ops->napi_poll)
864 napi_disable(&local->napi);
865 ieee80211_clear_tx_pending(local); 863 ieee80211_clear_tx_pending(local);
866 ieee80211_stop_device(local); 864 ieee80211_stop_device(local);
867 865
@@ -1550,6 +1548,8 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
1550 INIT_WORK(&sdata->cleanup_stations_wk, ieee80211_cleanup_sdata_stas_wk); 1548 INIT_WORK(&sdata->cleanup_stations_wk, ieee80211_cleanup_sdata_stas_wk);
1551 INIT_DELAYED_WORK(&sdata->dfs_cac_timer_work, 1549 INIT_DELAYED_WORK(&sdata->dfs_cac_timer_work,
1552 ieee80211_dfs_cac_timer_work); 1550 ieee80211_dfs_cac_timer_work);
1551 INIT_DELAYED_WORK(&sdata->dec_tailroom_needed_wk,
1552 ieee80211_delayed_tailroom_dec);
1553 1553
1554 for (i = 0; i < IEEE80211_NUM_BANDS; i++) { 1554 for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
1555 struct ieee80211_supported_band *sband; 1555 struct ieee80211_supported_band *sband;