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 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; |