iwlwifi: mvm: correctly set channel flags
authorAyala Beker <ayala.beker@intel.com>
Sun, 19 Dec 2021 10:18:19 +0000 (12:18 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 21 Dec 2021 10:35:07 +0000 (12:35 +0200)
In case of forced passive scan on a UHB channel,
don't set the direct probe option for this channel.

Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211219121514.0ede76a9ca92.Ie64a4df79ea9c485ae3d2fc043319e8f79cefa8e@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/scan.c

index b401ab6..cad190f 100644 (file)
@@ -1826,8 +1826,6 @@ iwl_mvm_umac_scan_cfg_channels_v6_6g(struct iwl_mvm_scan_params *params,
                        }
                }
 
-               flags = bssid_bitmap | (s_ssid_bitmap << 16);
-
                if (cfg80211_channel_is_psc(params->channels[i]) &&
                    psc_no_listen)
                        flags |= IWL_UHB_CHAN_CFG_FLAG_PSC_CHAN_NO_LISTEN;
@@ -1869,8 +1867,11 @@ iwl_mvm_umac_scan_cfg_channels_v6_6g(struct iwl_mvm_scan_params *params,
                                          (s_max > 1 || b_max > 3));
                }
                if ((allow_passive && force_passive) ||
-                   (!flags && !cfg80211_channel_is_psc(params->channels[i])))
+                   (!(bssid_bitmap | s_ssid_bitmap) &&
+                    !cfg80211_channel_is_psc(params->channels[i])))
                        flags |= IWL_UHB_CHAN_CFG_FLAG_FORCE_PASSIVE;
+               else
+                       flags |= bssid_bitmap | (s_ssid_bitmap << 16);
 
                channel_cfg[i].flags |= cpu_to_le32(flags);
        }