| From 0cff5f535a4d161fc3146a932671f900ad5e2fc8 Mon Sep 17 00:00:00 2001 |
| From: Felix Fietkau <nbd@nbd.name> |
| Date: Wed, 22 Feb 2017 16:16:07 +0100 |
| Subject: [PATCH] mac80211: don't handle filtered frames within a BA session |
| |
| commit 890030d3c425f49abaa4acf60e20f288b599f980 upstream. |
| |
| When running a BA session, the driver (or the hardware) already takes |
| care of retransmitting failed frames, since it has to keep the receiver |
| reorder window in sync. |
| |
| Adding another layer of retransmit around that does not improve |
| anything. In fact, it can only lead to some strong reordering with huge |
| latency. |
| |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/net/mac80211/status.c b/net/mac80211/status.c |
| index a2a68269675d..c9bea8136e77 100644 |
| --- a/net/mac80211/status.c |
| +++ b/net/mac80211/status.c |
| @@ -51,7 +51,8 @@ static void ieee80211_handle_filtered_frame(struct ieee80211_local *local, |
| struct ieee80211_hdr *hdr = (void *)skb->data; |
| int ac; |
| |
| - if (info->flags & IEEE80211_TX_CTL_NO_PS_BUFFER) { |
| + if (info->flags & (IEEE80211_TX_CTL_NO_PS_BUFFER | |
| + IEEE80211_TX_CTL_AMPDU)) { |
| ieee80211_free_txskb(&local->hw, skb); |
| return; |
| } |
| -- |
| 2.12.0 |
| |