qcacmn: Don't allow MLO SCC link
When MLO partner link and assoc link are on same frequency, F/W will assert. To fix it, don't allow partner link is on same frequency of assoc link. Change-Id: I01338dbbc0845e6f6284e4a374f5ad0a5cada334 CRs-Fixed: 3706613
This commit is contained in:

committed by
Ravindra Konda

szülő
0b4d82980c
commit
9bc183ab64
@@ -1824,14 +1824,7 @@ static bool is_freq_dbs_or_sbs(struct wlan_objmgr_psoc *psoc,
|
||||
qdf_freq_t freq_1,
|
||||
qdf_freq_t freq_2)
|
||||
{
|
||||
if ((policy_mgr_is_hw_sbs_capable(psoc) &&
|
||||
policy_mgr_are_sbs_chan(psoc, freq_1, freq_2)) ||
|
||||
(policy_mgr_is_hw_dbs_capable(psoc) &&
|
||||
!wlan_reg_is_same_band_freqs(freq_1, freq_2))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return !policy_mgr_2_freq_always_on_same_mac(psoc, freq_1, freq_2);
|
||||
}
|
||||
|
||||
#else
|
||||
@@ -1879,7 +1872,6 @@ enum MLO_TYPE cm_bss_mlo_type(struct wlan_objmgr_psoc *psoc,
|
||||
for (i = 0; i < entry->ml_info.num_links; i++) {
|
||||
if (!entry->ml_info.link_info[i].is_valid_link)
|
||||
continue;
|
||||
multi_link = true;
|
||||
freq_entry = entry->channel.chan_freq;
|
||||
freq[i] = entry->ml_info.link_info[i].freq;
|
||||
entry_partner[i] =
|
||||
@@ -1887,8 +1879,17 @@ enum MLO_TYPE cm_bss_mlo_type(struct wlan_objmgr_psoc *psoc,
|
||||
&entry->ml_info.link_info[i].link_addr);
|
||||
if (entry_partner[i])
|
||||
freq[i] = entry_partner[i]->channel.chan_freq;
|
||||
if (is_freq_dbs_or_sbs(psoc, freq[i], freq_entry))
|
||||
if (is_freq_dbs_or_sbs(psoc, freq[i], freq_entry)) {
|
||||
return MLMR;
|
||||
} else if (freq[i] == freq_entry) {
|
||||
mlme_debug("Partner " QDF_MAC_ADDR_FMT
|
||||
" freq %d same as assoc freq, invalid it",
|
||||
QDF_MAC_ADDR_REF(entry->ml_info.link_info[i].link_addr.bytes),
|
||||
freq[i]);
|
||||
entry->ml_info.link_info[i].is_valid_link = false;
|
||||
} else {
|
||||
multi_link = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (multi_link)
|
||||
|
Reference in New Issue
Block a user