浏览代码

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>
Johannes Berg 15 年之前
父节点
当前提交
f955ebb447
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      net/mac80211/agg-rx.c

+ 4 - 0
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);