]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-6.8/wifi-mt76-mt7996-disable-amsdu-for-non-data-frames.patch
Fixes for 6.8
[thirdparty/kernel/stable-queue.git] / queue-6.8 / wifi-mt76-mt7996-disable-amsdu-for-non-data-frames.patch
1 From d7618300f9f0a3c3f105b3e9f84e1e1c65ef6968 Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Fri, 26 Jan 2024 17:09:14 +0800
4 Subject: wifi: mt76: mt7996: disable AMSDU for non-data frames
5
6 From: Peter Chiu <chui-hao.chiu@mediatek.com>
7
8 [ Upstream commit 5d5edc09197cd8c705b42a73cdf8ba03db53c033 ]
9
10 Disable AMSDU for non-data frames to prevent TX token leak issues.
11
12 Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
13 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
14 Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 Signed-off-by: Sasha Levin <sashal@kernel.org>
16 ---
17 drivers/net/wireless/mediatek/mt76/mt7996/mac.c | 5 +++--
18 1 file changed, 3 insertions(+), 2 deletions(-)
19
20 diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/mac.c b/drivers/net/wireless/mediatek/mt76/mt7996/mac.c
21 index 63d34844c1223..0384fb059ddfc 100644
22 --- a/drivers/net/wireless/mediatek/mt76/mt7996/mac.c
23 +++ b/drivers/net/wireless/mediatek/mt76/mt7996/mac.c
24 @@ -732,6 +732,9 @@ mt7996_mac_write_txwi_8023(struct mt7996_dev *dev, __le32 *txwi,
25 FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype);
26
27 txwi[2] |= cpu_to_le32(val);
28 +
29 + if (wcid->amsdu)
30 + txwi[3] |= cpu_to_le32(MT_TXD3_HW_AMSDU);
31 }
32
33 static void
34 @@ -862,8 +865,6 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
35 val |= MT_TXD3_PROTECT_FRAME;
36 if (info->flags & IEEE80211_TX_CTL_NO_ACK)
37 val |= MT_TXD3_NO_ACK;
38 - if (wcid->amsdu)
39 - val |= MT_TXD3_HW_AMSDU;
40
41 txwi[3] = cpu_to_le32(val);
42 txwi[4] = 0;
43 --
44 2.43.0
45