blob: 0fe3af0b5e1016729d090de3d66b001601a7ad00 [file] [log] [blame]
From abd4da501a5b6d4159f8ef3dbcfc9f646ecc8a40 Mon Sep 17 00:00:00 2001
From: Peter Chiu <chui-hao.chiu@mediatek.com>
Date: Mon, 6 Nov 2023 20:17:16 +0800
Subject: [PATCH 06/25] mtk: wifi: mt76: mt7996: disable AMSDU for non-data
frames
Mgmt. frames with amsdu may lead to unexpected errors.
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
---
mt7996/mac.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/mt7996/mac.c b/mt7996/mac.c
index e6583427..19b34066 100644
--- a/mt7996/mac.c
+++ b/mt7996/mac.c
@@ -732,6 +732,9 @@ mt7996_mac_write_txwi_8023(struct mt7996_dev *dev, __le32 *txwi,
FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype);
txwi[2] |= cpu_to_le32(val);
+
+ if (wcid->amsdu)
+ txwi[3] |= cpu_to_le32(MT_TXD3_HW_AMSDU);
}
static void
@@ -862,8 +865,6 @@ void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
val |= MT_TXD3_PROTECT_FRAME;
if (info->flags & IEEE80211_TX_CTL_NO_ACK)
val |= MT_TXD3_NO_ACK;
- if (wcid->amsdu)
- val |= MT_TXD3_HW_AMSDU;
txwi[3] = cpu_to_le32(val);
txwi[4] = 0;
--
2.18.0