Commit 454f6306 authored by Avraham Stern's avatar Avraham Stern Committed by Johannes Berg
Browse files

wifi: iwlwifi: mvm: allow 6 GHz channels in MLO scan



MLO internal scan may include 6 GHz channels. Since the 6 GHz scan
indication is not set, the channel flags are set incorrectly, which
leads to a firmware assert.
Since the MLO scan may include 6 GHz and non 6 GHz channels in one
request, add support for non-PSC 6 GHz channels (PSC channels are
already supported) when the 6 GHz indication is not set.

Fixes: 38b3998d ("wifi: iwlwifi: mvm: Introduce internal MLO passive scan")
Signed-off-by: default avatarAvraham Stern <avraham.stern@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240825191257.04807f8213b2.Idd09d4366df92a74853649c1a520b7f0f752d1ac@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 0668ebc8
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1659,6 +1659,17 @@ iwl_mvm_umac_scan_cfg_channels_v7(struct iwl_mvm *mvm,
		cfg->v2.channel_num = channels[i]->hw_value;
		if (cfg80211_channel_is_psc(channels[i]))
			cfg->flags = 0;

		if (band == NL80211_BAND_6GHZ) {
			/* 6 GHz channels should only appear in a scan request
			 * that has scan_6ghz set. The only exception is MLO
			 * scan, which has to be passive.
			 */
			WARN_ON_ONCE(cfg->flags != 0);
			cfg->flags =
				cpu_to_le32(IWL_UHB_CHAN_CFG_FLAG_FORCE_PASSIVE);
		}

		cfg->v2.iter_count = 1;
		cfg->v2.iter_interval = 0;
		if (version < 17)