diff options
author | Ryder Lee <ryder.lee@mediatek.com> | 2021-07-21 10:03:52 +0800 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-10-20 10:36:31 +0200 |
commit | 33920b2bf04834b286981763686be0bc9f141d40 (patch) | |
tree | ed568c14c1b4765b13a00d9a0360476271ecc209 /drivers/net/wireless/mediatek/mt76/mt7921/mac.c | |
parent | 47f1c08db7f3aaa2d13f8e56209375462ace7b8a (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.c | 3 |
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); |