]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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:56:50 +0000 (11:56 +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 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 fa0f938f03a32ba48ff90bd1b7e5497bba4e11e0..4116434a8b3136d8cf4d9b2d72056c74329328e1 100644 (file)
@@ -2702,7 +2702,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 c4492803ec16e6368f7a5007ec9fba51d3546d1e..c45a8afc7c18acc4e43c6e11256834394be3c08a 100644 (file)
@@ -2873,7 +2873,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)