mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 18:05:21 +02:00
wifi: iwlwifi: mvm: fix iwl_mvm_scan_fits() calculation
[ Upstream commit d441622808
]
The calculation should consider also the 6GHz IE's len, fix that.
In addition, in iwl_mvm_sched_scan_start() the scan_fits helper is
called only in case non_psc_incldued is true, but it should be called
regardless, fix that as well.
Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240825191257.7db825442fd2.I99f4d6587709de02072fd57957ec7472331c6b1d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
dfa94a93f7
commit
0d07f12e1f
|
@ -830,8 +830,8 @@ static inline bool iwl_mvm_scan_fits(struct iwl_mvm *mvm, int n_ssids,
|
|||
return ((n_ssids <= PROBE_OPTION_MAX) &&
|
||||
(n_channels <= mvm->fw->ucode_capa.n_scan_channels) &
|
||||
(ies->common_ie_len +
|
||||
ies->len[NL80211_BAND_2GHZ] +
|
||||
ies->len[NL80211_BAND_5GHZ] <=
|
||||
ies->len[NL80211_BAND_2GHZ] + ies->len[NL80211_BAND_5GHZ] +
|
||||
ies->len[NL80211_BAND_6GHZ] <=
|
||||
iwl_mvm_max_scan_ie_fw_cmd_room(mvm)));
|
||||
}
|
||||
|
||||
|
@ -3118,18 +3118,16 @@ int iwl_mvm_sched_scan_start(struct iwl_mvm *mvm,
|
|||
params.n_channels = j;
|
||||
}
|
||||
|
||||
if (non_psc_included &&
|
||||
!iwl_mvm_scan_fits(mvm, req->n_ssids, ies, params.n_channels)) {
|
||||
kfree(params.channels);
|
||||
return -ENOBUFS;
|
||||
if (!iwl_mvm_scan_fits(mvm, req->n_ssids, ies, params.n_channels)) {
|
||||
ret = -ENOBUFS;
|
||||
goto out;
|
||||
}
|
||||
|
||||
uid = iwl_mvm_build_scan_cmd(mvm, vif, &hcmd, ¶ms, type);
|
||||
|
||||
if (non_psc_included)
|
||||
kfree(params.channels);
|
||||
if (uid < 0)
|
||||
return uid;
|
||||
if (uid < 0) {
|
||||
ret = uid;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = iwl_mvm_send_cmd(mvm, &hcmd);
|
||||
if (!ret) {
|
||||
|
@ -3146,6 +3144,9 @@ int iwl_mvm_sched_scan_start(struct iwl_mvm *mvm,
|
|||
mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
|
||||
}
|
||||
|
||||
out:
|
||||
if (non_psc_included)
|
||||
kfree(params.channels);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user