mt76: mt7915: fix DFS no radar detection event
authorEvelyn Tsai <evelyn.tsai@mediatek.com>
Tue, 1 Mar 2022 05:29:10 +0000 (13:29 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 16 Mar 2022 16:40:22 +0000 (17:40 +0100)
Driver needs to carry region definition when radar detection starts.
Need to remap nl80211 DFS regions to chip region definition.

Signed-off-by: Evelyn Tsai <evelyn.tsai@mediatek.com>
Signed-off-by: Rubio Lu <Rubio-DW.Lu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mac.c

index 1da551f..a990793 100644 (file)
@@ -2364,10 +2364,23 @@ static void mt7915_dfs_stop_radar_detector(struct mt7915_phy *phy)
 
 static int mt7915_dfs_start_rdd(struct mt7915_dev *dev, int chain)
 {
-       int err;
+       int err, region;
+
+       switch (dev->mt76.region) {
+       case NL80211_DFS_ETSI:
+               region = 0;
+               break;
+       case NL80211_DFS_JP:
+               region = 2;
+               break;
+       case NL80211_DFS_FCC:
+       default:
+               region = 1;
+               break;
+       }
 
        err = mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_START, chain,
-                                     MT_RX_SEL0, 0);
+                                     MT_RX_SEL0, region);
        if (err < 0)
                return err;