wifi: mt76: connac: fix txd multicast rate setting
authorRyder Lee <ryder.lee@mediatek.com>
Thu, 13 Apr 2023 20:23:29 +0000 (04:23 +0800)
committerFelix Fietkau <nbd@nbd.name>
Mon, 17 Apr 2023 15:46:07 +0000 (17:46 +0200)
The vif->bss_conf.mcast_rate should be applied to multicast data frame
only.

Fixes: 182071cdd594 ("mt76: connac: move connac2_mac_write_txwi in mt76_connac module")
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c

index bd4ce2c..a51a2d4 100644 (file)
@@ -558,7 +558,8 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
        if (txwi[2] & cpu_to_le32(MT_TXD2_FIX_RATE)) {
                /* Fixed rata is available just for 802.11 txd */
                struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
-               bool multicast = is_multicast_ether_addr(hdr->addr1);
+               bool multicast = ieee80211_is_data(hdr->frame_control) &&
+                                is_multicast_ether_addr(hdr->addr1);
                u16 rate = mt76_connac2_mac_tx_rate_val(mphy, vif, beacon,
                                                        multicast);
                u32 val = MT_TXD6_FIXED_BW;