diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-03-20 15:24:57 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-03-20 15:24:57 -0400 |
commit | 5470b462c3f0c6fa980c320968a165bd0f34ca8d (patch) | |
tree | eb20de947bec8133d27f97f7af8ae4cf35def663 /net/mac80211/iface.c | |
parent | 4c1d8d0617a39c8325a7c2fd80ac14bf40fd8cc6 (diff) | |
parent | 0d4e67174b03e3dcfe75ce7ec488770a5d443bf4 (diff) | |
download | linux-5470b462c3f0c6fa980c320968a165bd0f34ca8d.tar.gz linux-5470b462c3f0c6fa980c320968a165bd0f34ca8d.tar.bz2 linux-5470b462c3f0c6fa980c320968a165bd0f34ca8d.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
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) res = drv_start(local); if (res) goto err_del_bss; - if (local->ops->napi_poll) - napi_enable(&local->napi); /* we're brought up, everything changes */ hw_reconf_flags = ~0; ieee80211_led_radio(local, true); @@ -838,14 +836,16 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, rcu_barrier(); sta_info_flush_cleanup(sdata); - skb_queue_purge(&sdata->skb_queue); - /* * Free all remaining keys, there shouldn't be any, - * except maybe group keys in AP more or WDS? + * except maybe in WDS mode? */ ieee80211_free_keys(sdata); + /* fall through */ + case NL80211_IFTYPE_AP: + skb_queue_purge(&sdata->skb_queue); + drv_remove_interface_debugfs(local, sdata); if (going_down) @@ -857,8 +857,6 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, ieee80211_recalc_ps(local, -1); if (local->open_count == 0) { - if (local->ops->napi_poll) - napi_disable(&local->napi); ieee80211_clear_tx_pending(local); ieee80211_stop_device(local); @@ -1547,6 +1545,8 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name, INIT_WORK(&sdata->cleanup_stations_wk, ieee80211_cleanup_sdata_stas_wk); INIT_DELAYED_WORK(&sdata->dfs_cac_timer_work, ieee80211_dfs_cac_timer_work); + INIT_DELAYED_WORK(&sdata->dec_tailroom_needed_wk, + ieee80211_delayed_tailroom_dec); for (i = 0; i < IEEE80211_NUM_BANDS; i++) { struct ieee80211_supported_band *sband; |