mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-01-28 01:33:17 +00:00
mac80211: fix queue assignment of aggregation start requests
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
7e15390056
commit
15d8c7aa74
@ -0,0 +1,28 @@
|
|||||||
|
From: Felix Fietkau <nbd@nbd.name>
|
||||||
|
Date: Thu, 2 Dec 2021 13:30:05 +0100
|
||||||
|
Subject: [PATCH] mac80211: send ADDBA requests using the tid/queue of the
|
||||||
|
aggregation session
|
||||||
|
|
||||||
|
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>
|
||||||
|
---
|
||||||
|
|
||||||
|
--- a/net/mac80211/agg-tx.c
|
||||||
|
+++ b/net/mac80211/agg-tx.c
|
||||||
|
@@ -106,7 +106,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)
|
Loading…
Reference in New Issue
Block a user