mt76: mt7915: fix bit fields for HT rate idx
authorShayne Chen <shayne.chen@mediatek.com>
Tue, 20 Jul 2021 13:00:14 +0000 (21:00 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:36 +0000 (19:16 +0100)
[ Upstream commit 47f1c08db7f3aaa2d13f8e56209375462ace7b8a ]

The bit fields of tx rate idx should be 6 bits, otherwise it might be
incorrect in HT mode.
For VHT/HE rates, only 4 bits are actually used by rate idx, the other
2 bits are used for other functions.

Fixes: c31d94af1843 ("mt76: mt7915: fix tx rate related fields in tx descriptor")
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7915/mac.h

index eb1885f4bd8eb352009bad1837ae07411eeb2e9a..fee7741b5d421563a909fab785db6ddf86bcdade 100644 (file)
@@ -272,7 +272,8 @@ enum tx_mcu_port_q_idx {
 #define MT_TX_RATE_MODE                        GENMASK(9, 6)
 #define MT_TX_RATE_SU_EXT_TONE         BIT(5)
 #define MT_TX_RATE_DCM                 BIT(4)
-#define MT_TX_RATE_IDX                 GENMASK(3, 0)
+/* VHT/HE only use bits 0-3 */
+#define MT_TX_RATE_IDX                 GENMASK(5, 0)
 
 #define MT_TXP_MAX_BUF_NUM             6