diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-06-10 10:21:45 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-14 15:39:28 -0400 |
commit | f955ebb44798e0058c987a0817810d2542e87349 (patch) | |
tree | cc31892c229120ca206ea2d19fc0e6c13f0bad47 /net | |
parent | 7c3b1dd8f483bf4bcb9776cd9cd3b37dd327d7ea (diff) | |
download | blackbird-op-linux-f955ebb44798e0058c987a0817810d2542e87349.tar.gz blackbird-op-linux-f955ebb44798e0058c987a0817810d2542e87349.zip |
mac80211: fix RX aggregation timer
I noticed that when there was _no_ traffic at
all on a given aggregation session, it would
never time out. This won't happen unless you
forced creating a session, but fix it anyway.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/agg-rx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c index 1c4320b01e3c..aa858a03951c 100644 --- a/net/mac80211/agg-rx.c +++ b/net/mac80211/agg-rx.c @@ -274,6 +274,10 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, /* activate it for RX */ rcu_assign_pointer(sta->ampdu_mlme.tid_rx[tid], tid_agg_rx); + + if (timeout) + mod_timer(&tid_agg_rx->session_timer, TU_TO_EXP_TIME(timeout)); + end: spin_unlock_bh(&sta->lock); |