projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e2c54b9
)
mac80211: fix rx reordering with non explicit / psmp ack policy
author
Felix Fietkau
<nbd@nbd.name>
Wed, 20 Apr 2022 10:50:38 +0000
(12:50 +0200)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 25 May 2022 07:57:35 +0000
(09:57 +0200)
[ Upstream commit
5e469ed9764d4722c59562da13120bd2dc6834c5
]
When the QoS ack policy was set to non explicit / psmp ack, frames are treated
as not being part of a BA session, which causes extra latency on reordering.
Fix this by only bypassing reordering for packets with no-ack policy
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Link:
https://lore.kernel.org/r/20220420105038.36443-1-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/rx.c
patch
|
blob
|
history
diff --git
a/net/mac80211/rx.c
b/net/mac80211/rx.c
index eab6283b3479cc82097b2af3570777ac274b3674..743e97ba352c86b0bfc92095ea1d60c7bfa99ded 100644
(file)
--- a/
net/mac80211/rx.c
+++ b/
net/mac80211/rx.c
@@
-1400,8
+1400,7
@@
static void ieee80211_rx_reorder_ampdu(struct ieee80211_rx_data *rx,
goto dont_reorder;
/* not part of a BA session */
- if (ack_policy != IEEE80211_QOS_CTL_ACK_POLICY_BLOCKACK &&
- ack_policy != IEEE80211_QOS_CTL_ACK_POLICY_NORMAL)
+ if (ack_policy == IEEE80211_QOS_CTL_ACK_POLICY_NOACK)
goto dont_reorder;
/* new, potentially un-ordered, ampdu frame - process it */