diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-06-10 04:21:45 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-14 15:39:28 -0400 |
commit | f955ebb44798e0058c987a0817810d2542e87349 (patch) | |
tree | cc31892c229120ca206ea2d19fc0e6c13f0bad47 | |
parent | 7c3b1dd8f483bf4bcb9776cd9cd3b37dd327d7ea (diff) |
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>
-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, | |||
274 | 274 | ||
275 | /* activate it for RX */ | 275 | /* activate it for RX */ |
276 | rcu_assign_pointer(sta->ampdu_mlme.tid_rx[tid], tid_agg_rx); | 276 | rcu_assign_pointer(sta->ampdu_mlme.tid_rx[tid], tid_agg_rx); |
277 | |||
278 | if (timeout) | ||
279 | mod_timer(&tid_agg_rx->session_timer, TU_TO_EXP_TIME(timeout)); | ||
280 | |||
277 | end: | 281 | end: |
278 | spin_unlock_bh(&sta->lock); | 282 | spin_unlock_bh(&sta->lock); |
279 | 283 | ||