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)
committerFelix Fietkau <nbd@nbd.name>
Sat, 30 Sep 2023 18:03:05 +0000 (20:03 +0200)
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>
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 8d745c9730c72cc9cae6b010e98bb5f6ea3691da..955974a82180fdb45b7a334c1dff9fda76112680 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 94a091dd155e8777c0b5e31bc846c60993e311b6..a203f90367f4bd0a39e0e9cee86c45ea234d2092 100644 (file)
@@ -2742,7 +2742,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 ebd0a9a6310e2d195cef67a10fa9f624d49b4d74..27250e7a077da45f8c0e0f46914b433028d33fa3 100644 (file)
@@ -3182,7 +3182,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)