mac80211: send ADDBA requests using the tid/queue of the aggregation session
authorFelix Fietkau <nbd@nbd.name>
Thu, 2 Dec 2021 12:45:33 +0000 (13:45 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Dec 2021 08:32:34 +0000 (09:32 +0100)
commite606db721de5e6bb7fc12f22ba09b6d013930fa7
tree1257247fb156ddd5a43c3d6ec8b423e0b3bbac6d
parent815ee27cfbf8184f6e30c30a0bd7055e1ece05dd
mac80211: send ADDBA requests using the tid/queue of the aggregation session

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