wifi: mt76: fix per-band IEEE80211_CONF_MONITOR flag comparison
authorShayne Chen <shayne.chen@mediatek.com>
Thu, 31 Aug 2023 06:22:18 +0000 (14:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:58:58 +0000 (11:58 +0100)
[ Upstream commit c685034cabc574dbdf16fa675010e202083cb4c2 ]

Use the correct ieee80211_conf of each band for IEEE80211_CONF_MONITOR
comparison.

Fixes: 24e69f6bc3ca ("mt76: fix monitor rx FCS error in DFS channel")
Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices")
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/mt7615/mcu.c
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c

index 8d745c9..955974a 100644 (file)
@@ -2147,7 +2147,7 @@ int mt7615_mcu_set_chan_info(struct mt7615_phy *phy, int cmd)
        };
 
        if (cmd == MCU_EXT_CMD(SET_RX_PATH) ||
-           dev->mt76.hw->conf.flags & IEEE80211_CONF_MONITOR)
+           phy->mt76->hw->conf.flags & IEEE80211_CONF_MONITOR)
                req.switch_reason = CH_SWITCH_NORMAL;
        else if (phy->mt76->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)
                req.switch_reason = CH_SWITCH_SCAN_BYPASS_DPD;
index acdb54a..92a341a 100644 (file)
@@ -2740,7 +2740,7 @@ int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
        if (mt76_connac_spe_idx(phy->mt76->antenna_mask))
                req.tx_path_num = fls(phy->mt76->antenna_mask);
 
-       if (dev->mt76.hw->conf.flags & IEEE80211_CONF_MONITOR)
+       if (phy->mt76->hw->conf.flags & IEEE80211_CONF_MONITOR)
                req.switch_reason = CH_SWITCH_NORMAL;
        else if (phy->mt76->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL ||
                 phy->mt76->hw->conf.flags & IEEE80211_CONF_IDLE)
index f80ba8f..7575d35 100644 (file)
@@ -2972,7 +2972,7 @@ int mt7996_mcu_set_chan_info(struct mt7996_phy *phy, u16 tag)
                .channel_band = ch_band[chandef->chan->band],
        };
 
-       if (dev->mt76.hw->conf.flags & IEEE80211_CONF_MONITOR)
+       if (phy->mt76->hw->conf.flags & IEEE80211_CONF_MONITOR)
                req.switch_reason = CH_SWITCH_NORMAL;
        else if (phy->mt76->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL ||
                 phy->mt76->hw->conf.flags & IEEE80211_CONF_IDLE)