#define to_rssi(field, rxv)            ((FIELD_GET(field, rxv) - 220) / 2)
 
 static const struct mt7615_dfs_radar_spec etsi_radar_specs = {
-       .pulse_th = { 40, -10, -80, 800, 3360, 128, 5200 },
+       .pulse_th = { 110, -10, -80, 40, 5200, 128, 5200 },
        .radar_pattern = {
                [5] =  { 1, 0,  6, 32, 28, 0, 17,  990, 5010, 1, 1 },
                [6] =  { 1, 0,  9, 32, 28, 0, 27,  615, 5010, 1, 1 },
 };
 
 static const struct mt7615_dfs_radar_spec fcc_radar_specs = {
-       .pulse_th = { 40, -10, -80, 800, 3360, 128, 5200 },
+       .pulse_th = { 110, -10, -80, 40, 5200, 128, 5200 },
        .radar_pattern = {
                [0] = { 1, 0,  9,  32, 28, 0, 13, 508, 3076, 1,  1 },
                [1] = { 1, 0, 12,  32, 28, 0, 17, 140,  240, 1,  1 },
 };
 
 static const struct mt7615_dfs_radar_spec jp_radar_specs = {
-       .pulse_th = { 40, -10, -80, 800, 3360, 128, 5200 },
+       .pulse_th = { 110, -10, -80, 40, 5200, 128, 5200 },
        .radar_pattern = {
                [0] =  { 1, 0,  8, 32, 28, 0, 13,  508, 3076, 1,  1 },
                [1] =  { 1, 0, 12, 32, 28, 0, 17,  140,  240, 1,  1 },
 {
        const struct mt7615_dfs_radar_spec *radar_specs;
        struct mt7615_dev *dev = phy->dev;
-       int err, i;
+       int err, i, lpn = 500;
 
        switch (dev->mt76.region) {
        case NL80211_DFS_FCC:
                radar_specs = &fcc_radar_specs;
-               err = mt7615_mcu_set_fcc5_lpn(dev, 8);
-               if (err < 0)
-                       return err;
+               lpn = 8;
                break;
        case NL80211_DFS_ETSI:
                radar_specs = &etsi_radar_specs;
                return -EINVAL;
        }
 
+       /* avoid FCC radar detection in non-FCC region */
+       err = mt7615_mcu_set_fcc5_lpn(dev, lpn);
+       if (err < 0)
+               return err;
+
        for (i = 0; i < ARRAY_SIZE(radar_specs->radar_pattern); i++) {
                err = mt7615_mcu_set_radar_th(dev, i,
                                              &radar_specs->radar_pattern[i]);