summaryrefslogtreecommitdiff
path: root/net/mac80211/agg-rx.c
diff options
context:
space:
mode:
authorSara Sharon <sara.sharon@intel.com>2016-01-28 14:19:25 (GMT)
committerJohannes Berg <johannes.berg@intel.com>2016-02-24 08:04:31 (GMT)
commit06470f7468c8b6c95e72ebda803a61a99f4ee446 (patch)
tree3caa5f30aad82c42d12616aa6336ba3279d64bbb /net/mac80211/agg-rx.c
parentfb4ea054857ec719dba84c3b5a7c4ee50d42bd5b (diff)
downloadlinux-06470f7468c8b6c95e72ebda803a61a99f4ee446.tar.xz
mac80211: add API to allow filtering frames in BA sessions
If any frames are dropped that are part of a BA session, the reorder buffer will "indefinitely" (until the timeout) wait for them to come in (or a BAR moving the window) and won't release frames after them. This means it isn't possible to filter frames within a BA session in firmware. Introduce an API function that allows such filtering. Calling this function will move the BA window forward to the new SSN, and allows marking frames after the SSN as having been filtered, so any future reordering activity will release frames while skipping the holes. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/agg-rx.c')
-rw-r--r--net/mac80211/agg-rx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index 2ab5479..1b8a5ca 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -376,6 +376,7 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
tid_agg_rx->timeout = timeout;
tid_agg_rx->stored_mpdu_num = 0;
tid_agg_rx->auto_seq = auto_seq;
+ tid_agg_rx->reorder_buf_filtered = 0;
status = WLAN_STATUS_SUCCESS;
/* activate it for RX */