mt76: mt7915: add offchannel condition in switch channel command
authorShayne Chen <shayne.chen@mediatek.com>
Tue, 22 Sep 2020 11:36:01 +0000 (19:36 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 24 Sep 2020 16:10:20 +0000 (18:10 +0200)
Add a missing offchannel condition for channel switch reason, which
bypasses DPD calibration to reduce scanning time.

Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c

index 9855047..a3ccc17 100644 (file)
@@ -3148,8 +3148,10 @@ int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
                .channel_band = chandef->chan->band,
        };
 
-       if ((chandef->chan->flags & IEEE80211_CHAN_RADAR) &&
-           chandef->chan->dfs_state != NL80211_DFS_AVAILABLE)
+       if (dev->mt76.hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)
+               req.switch_reason = CH_SWITCH_SCAN_BYPASS_DPD;
+       else if ((chandef->chan->flags & IEEE80211_CHAN_RADAR) &&
+                chandef->chan->dfs_state != NL80211_DFS_AVAILABLE)
                req.switch_reason = CH_SWITCH_DFS;
        else
                req.switch_reason = CH_SWITCH_NORMAL;