qcacld-3.0: Populate 6 GHz offchannel params correctly

Populate 6 GHz offchannel params only when VLP power is
supported by APs country.

Change-Id: Ic8d5d3f4b0bc1126d25242633eb0aae98989ddc3
CRs-Fixed: 3288784
This commit is contained in:
Utkarsh Bhatnagar
2022-09-19 07:27:30 +05:30
committed by Madan Koyyalamudi
parent 27c185dbcd
commit 5852333960
2 changed files with 8 additions and 6 deletions

View File

@@ -938,6 +938,10 @@ bw_check:
vdev_obj->vdev, peer->pref_off_chan_freq, vdev_obj->vdev, peer->pref_off_chan_freq,
peer->pref_off_chan_width, peer->pref_off_chan_width,
&reg_bw_offset); &reg_bw_offset);
tdls_debug("Updated preff offchannel freq %d width %d opclass %d",
peer->pref_off_chan_freq, peer->pref_off_chan_width,
peer->op_class_for_pref_off_chan);
} }
void tdls_set_peer_caps(struct tdls_vdev_priv_obj *vdev_obj, void tdls_set_peer_caps(struct tdls_vdev_priv_obj *vdev_obj,

View File

@@ -220,8 +220,7 @@ static void populate_dot11f_tdls_offchannel_params(
uint8_t nss_5g; uint8_t nss_5g;
qdf_freq_t ch_freq; qdf_freq_t ch_freq;
bool is_vlp_country; bool is_vlp_country;
uint8_t band_mask; uint8_t ap_cc[REG_ALPHA2_LEN + 1];
uint8_t *ap_cc;
uint8_t reg_cc[REG_ALPHA2_LEN + 1]; uint8_t reg_cc[REG_ALPHA2_LEN + 1];
numChans = mac->mlme_cfg->reg.valid_channel_list_num; numChans = mac->mlme_cfg->reg.valid_channel_list_num;
@@ -236,7 +235,7 @@ static void populate_dot11f_tdls_offchannel_params(
nss_2g = QDF_MIN(mac->vdev_type_nss_2g.tdls, nss_2g = QDF_MIN(mac->vdev_type_nss_2g.tdls,
mac->user_configured_nss); mac->user_configured_nss);
ap_cc = mac->scan.countryCodeCurrent; wlan_cm_get_country_code(mac->pdev, pe_session->vdev_id, ap_cc);
wlan_reg_read_current_country(mac->psoc, reg_cc); wlan_reg_read_current_country(mac->psoc, reg_cc);
is_vlp_country = wlan_reg_ctry_support_vlp(ap_cc) && is_vlp_country = wlan_reg_ctry_support_vlp(ap_cc) &&
wlan_reg_ctry_support_vlp(reg_cc); wlan_reg_ctry_support_vlp(reg_cc);
@@ -315,9 +314,8 @@ static void populate_dot11f_tdls_offchannel_params(
wlan_reg_dmn_get_curr_opclasses(&numClasses, &classes[0]); wlan_reg_dmn_get_curr_opclasses(&numClasses, &classes[0]);
for (i = 0; i < numClasses; i++) { for (i = 0; i < numClasses; i++) {
band_mask = wlan_reg_get_band_cap_from_op_class(reg_cc, 1, if (wlan_reg_is_6ghz_op_class(mac->pdev, classes[i]) &&
&classes[i]); !is_vlp_country)
if ((band_mask & BIT(REG_BAND_6G)) && !is_vlp_country)
continue; continue;
suppOperClasses->classes[count_opclss] = classes[i]; suppOperClasses->classes[count_opclss] = classes[i];