|
@@ -0,0 +1,28 @@
|
|
|
+From: Felix Fietkau <[email protected]>
|
|
|
+Date: Wed, 22 Feb 2017 16:13:17 +0100
|
|
|
+Subject: [PATCH] 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: [email protected]
|
|
|
+Signed-off-by: Felix Fietkau <[email protected]>
|
|
|
+---
|
|
|
+
|
|
|
+--- a/net/mac80211/status.c
|
|
|
++++ b/net/mac80211/status.c
|
|
|
+@@ -51,7 +51,8 @@ static void ieee80211_handle_filtered_fr
|
|
|
+ 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;
|
|
|
+ }
|