wifi: mt76: mt7921: fix wrong command to set STA channel
authorDeren Wu <deren.wu@mediatek.com>
Sat, 11 Feb 2023 01:01:58 +0000 (09:01 +0800)
committerFelix Fietkau <nbd@nbd.name>
Mon, 17 Apr 2023 13:34:34 +0000 (15:34 +0200)
Should not use AND operator to check vif type NL80211_IFTYPE_MONITOR, and
that will cause we go into sniffer command for both STA and MONITOR
mode. However, the sniffer command would set channel properly (with some
extra options), the STA mode still works even if using the wrong
command.

Fix vif type check to make sure we using the right command to update
channel.

Fixes: 914189af23b8 ("wifi: mt76: mt7921: fix channel switch fail in monitor mode")
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/main.c

index 75eaf86..a72964e 100644 (file)
@@ -1695,7 +1695,7 @@ static void mt7921_ctx_iter(void *priv, u8 *mac,
        if (ctx != mvif->ctx)
                return;
 
-       if (vif->type & NL80211_IFTYPE_MONITOR)
+       if (vif->type == NL80211_IFTYPE_MONITOR)
                mt7921_mcu_config_sniffer(mvif, ctx);
        else
                mt76_connac_mcu_uni_set_chctx(mvif->phy->mt76, &mvif->mt76, ctx);