summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
diff options
context:
space:
mode:
authorRyder Lee <ryder.lee@mediatek.com>2021-07-21 10:03:52 +0800
committerFelix Fietkau <nbd@nbd.name>2021-10-20 10:36:31 +0200
commit33920b2bf04834b286981763686be0bc9f141d40 (patch)
treeed568c14c1b4765b13a00d9a0360476271ecc209 /drivers/net/wireless/mediatek/mt76/mt7921/mac.c
parent47f1c08db7f3aaa2d13f8e56209375462ace7b8a (diff)
mt76: add support for setting mcast rate
Mesh and ad-hoc interfaces allow users to set mcast rate through NL80211_ATTR_MCAST_RATE, so rework mt76_default_basic_rate() to adapt that. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt7921/mac.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7921/mac.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
index 6ff8121741f9..945b2e24edad 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
@@ -812,12 +812,13 @@ void mt7921_mac_write_txwi(struct mt7921_dev *dev, __le32 *txwi,
mt7921_mac_write_txwi_80211(dev, txwi, skb, key);
if (txwi[2] & cpu_to_le32(MT_TXD2_FIX_RATE)) {
+ int rateidx = ffs(vif->bss_conf.basic_rates) - 1;
u16 rate, mode;
/* hardware won't add HTC for mgmt/ctrl frame */
txwi[2] |= cpu_to_le32(MT_TXD2_HTC_VLD);
- rate = mt76_default_basic_rate(mphy, vif);
+ rate = mt76_calculate_default_rate(mphy, rateidx);
mode = rate >> 8;
rate &= GENMASK(7, 0);
rate |= FIELD_PREP(MT_TX_RATE_MODE, mode);