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

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

diff --git a/queue-4.14/mac80211-send-addba-requests-using-the-tid-queue-of-the-aggregation-session.patch b/queue-4.14/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 e968322607cf8047c294233dd53a8006ae847c17..5a94ca3a5698654e77ac838eda72b17a3e7cb557 100644 (file)
@@ -7,3 +7,4 @@ net-netlink-af_netlink-prevent-empty-skb-by-adding-a.patch
 tracing-fix-a-kmemleak-false-positive-in-tracing_map.patch
 bpf-fix-panic-due-to-oob-in-bpf_prog_test_run_skb.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