summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-02-22 16:16:07 +0100
committerJohannes Berg <johannes.berg@intel.com>2017-02-27 14:06:00 +0100
commit890030d3c425f49abaa4acf60e20f288b599f980 (patch)
tree83b486856ad4f94f6023c98bf7a08e66e7877220
parent8fbcfeb8a9cc803464d6c166e7991913711c612c (diff)
downloadlinux-890030d3c425f49abaa4acf60e20f288b599f980.tar.bz2
mac80211: don't handle filtered frames within a BA session
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>
-rw-r--r--net/mac80211/status.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c
index a3af6e1bfd98..05ccd55b5d83 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;
}