summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorPeter Chiu <chui-hao.chiu@mediatek.com>2023-09-06 11:27:25 +0300
committerFelix Fietkau <nbd@nbd.name>2024-02-22 11:55:16 +0300
commit775cf70c409b0e54475921c1084792771fae50cb (patch)
treee9d50e9fa24810ed8e96aacafe3981570e9685c8 /drivers/net/wireless
parentf3ec643947634bed41b97bd56b248f7c78498eab (diff)
downloadlinux-775cf70c409b0e54475921c1084792771fae50cb.tar.xz
wifi: mt76: disable HW AMSDU when using fixed rate
When using fixed rate, HW uses txd DW9 to store tx arrivial time if VTA is set. It would overwrite the msdu_id in txd and lead to token pending if amsdu is enable. Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
index c7914643e9c0..630c6402ec25 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
@@ -544,7 +544,7 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
val = FIELD_PREP(MT_TXD5_PID, pid);
if (pid >= MT_PACKET_ID_FIRST) {
val |= MT_TXD5_TX_STATUS_HOST;
- amsdu_en = amsdu_en && !is_mt7921(dev);
+ amsdu_en = 0;
}
txwi[5] = cpu_to_le32(val);
@@ -579,6 +579,8 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
spe_idx = 24 + phy_idx;
txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX, spe_idx));
}
+
+ txwi[7] &= ~cpu_to_le32(MT_TXD7_HW_AMSDU);
}
}
EXPORT_SYMBOL_GPL(mt76_connac2_mac_write_txwi);