diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-08-29 23:25:18 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-09-12 12:46:21 +0300 |
commit | bfe40fa395ddc41e45310a4426574703a05e1177 (patch) | |
tree | 7924a96bbbcb492c99f082b6708db482aa873cc0 /net/mac80211/agg-rx.c | |
parent | 99ee7cae3bf3ce04e90d7b193d9f4f59a7044d91 (diff) | |
download | linux-bfe40fa395ddc41e45310a4426574703a05e1177.tar.xz |
mac80211: send delBA on unexpected BlockAck data frames
When we receive data frames with ACK policy BlockAck, send
delBA as requested by the 802.11 spec. Since this would be
happening for every frame inside an A-MPDU if it's really
received outside a session, limit it to a single attempt.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/agg-rx.c')
-rw-r--r-- | net/mac80211/agg-rx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c index 282e99bdb301..a5d69dfc8e03 100644 --- a/net/mac80211/agg-rx.c +++ b/net/mac80211/agg-rx.c @@ -409,8 +409,10 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta, } end: - if (status == WLAN_STATUS_SUCCESS) + if (status == WLAN_STATUS_SUCCESS) { __set_bit(tid, sta->ampdu_mlme.agg_session_valid); + __clear_bit(tid, sta->ampdu_mlme.unexpected_agg); + } mutex_unlock(&sta->ampdu_mlme.mtx); end_no_lock: |