]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Dec 2021 13:09:14 +0000 (14:09 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Dec 2021 13:09:14 +0000 (14:09 +0100)
added patches:
mac80211-send-addba-requests-using-the-tid-queue-of-the-aggregation-session.patch

queue-4.4/mac80211-send-addba-requests-using-the-tid-queue-of-the-aggregation-session.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/mac80211-send-addba-requests-using-the-tid-queue-of-the-aggregation-session.patch b/queue-4.4/mac80211-send-addba-requests-using-the-tid-queue-of-the-aggregation-session.patch
new file mode 100644 (file)
index 0000000..f976156
--- /dev/null
@@ -0,0 +1,37 @@
+From 1fe98f5690c4219d419ea9cc190f94b3401cf324 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Thu, 2 Dec 2021 13:45:33 +0100
+Subject: mac80211: send ADDBA requests using the tid/queue of the aggregation session
+
+From: Felix Fietkau <nbd@nbd.name>
+
+commit 1fe98f5690c4219d419ea9cc190f94b3401cf324 upstream.
+
+Sending them out on a different queue can cause a race condition where a
+number of packets in the queue may be discarded by the receiver, because
+the ADDBA request is sent too early.
+This affects any driver with software A-MPDU setup which does not allocate
+packet seqno in hardware on tx, regardless of whether iTXQ is used or not.
+The only driver I've seen that explicitly deals with this issue internally
+is mwl8k.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+Link: https://lore.kernel.org/r/20211202124533.80388-1-nbd@nbd.name
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/mac80211/agg-tx.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/mac80211/agg-tx.c
++++ b/net/mac80211/agg-tx.c
+@@ -109,7 +109,7 @@ static void ieee80211_send_addba_request
+       mgmt->u.action.u.addba_req.start_seq_num =
+                                       cpu_to_le16(start_seq_num << 4);
+-      ieee80211_tx_skb(sdata, skb);
++      ieee80211_tx_skb_tid(sdata, skb, tid);
+ }
+ void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn)
index 9e54d70b8d150328a12837bd81d99873034ecb25..4c6c699a2fc6c4d028518efa0790d72f5676d727 100644 (file)
@@ -3,3 +3,4 @@ parisc-agp-annotate-parisc-agp-init-functions-with-_.patch
 i2c-rk3x-handle-a-spurious-start-completion-interrup.patch
 net-netlink-af_netlink-prevent-empty-skb-by-adding-a.patch
 hwmon-dell-smm-fix-warning-on-proc-i8k-creation-error.patch
+mac80211-send-addba-requests-using-the-tid-queue-of-the-aggregation-session.patch