blob: 6b813fde6fed74a155ab8a8fe6434b323010d962 [file] [log] [blame]
developer1a173672023-12-21 14:49:33 +08001From abd4da501a5b6d4159f8ef3dbcfc9f646ecc8a40 Mon Sep 17 00:00:00 2001
2From: Peter Chiu <chui-hao.chiu@mediatek.com>
3Date: Mon, 6 Nov 2023 20:17:16 +0800
4Subject: [PATCH 06/23] mtk: wifi: mt76: mt7996: disable AMSDU for non-data
5 frames
6
7Mgmt. frames with amsdu may lead to unexpected errors.
8
9Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
10---
11 mt7996/mac.c | 5 +++--
12 1 file changed, 3 insertions(+), 2 deletions(-)
13
14diff --git a/mt7996/mac.c b/mt7996/mac.c
15index e6583427..19b34066 100644
16--- a/mt7996/mac.c
17+++ b/mt7996/mac.c
18@@ -732,6 +732,9 @@ mt7996_mac_write_txwi_8023(struct mt7996_dev *dev, __le32 *txwi,
19 FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype);
20
21 txwi[2] |= cpu_to_le32(val);
22+
23+ if (wcid->amsdu)
24+ txwi[3] |= cpu_to_le32(MT_TXD3_HW_AMSDU);
25 }
26
27 static void
28@@ -862,8 +865,6 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
29 val |= MT_TXD3_PROTECT_FRAME;
30 if (info->flags & IEEE80211_TX_CTL_NO_ACK)
31 val |= MT_TXD3_NO_ACK;
32- if (wcid->amsdu)
33- val |= MT_TXD3_HW_AMSDU;
34
35 txwi[3] = cpu_to_le32(val);
36 txwi[4] = 0;
37--
382.18.0
39