Merge tag 'LA.UM.9.14.r1-23800-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0 into android13-5.4-lahaina

"LA.UM.9.14.r1-23800-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-23800-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0:
  Release 2.0.8.34I
  qcacld-3.0: Ignore CSA request for invalid channel
  Release 2.0.8.34H
  qcacld-3.0: Check ch_width for dot11f vht and he caps
  qcacld-3.0: Higher Bandwidth support 80/80+80/160 in 2.4 GHz Band
  Release 2.0.8.34G
  qcacld-3.0: Extract 6 GHz AP power type from HE IE
  qcacld-3.0: Do not allow connection if STA VLP not supported

Change-Id: Icdab6891cad69ccfd611f131e3ac578ca3012d37
This commit is contained in:
Michael Bestas 2024-02-09 00:39:20 +02:00
commit be31ff5b66
No known key found for this signature in database
GPG Key ID: CC95044519BE6669
4 changed files with 34 additions and 4 deletions

View File

@ -32,9 +32,9 @@
#define QWLAN_VERSION_MAJOR 2
#define QWLAN_VERSION_MINOR 0
#define QWLAN_VERSION_PATCH 8
#define QWLAN_VERSION_EXTRA "F"
#define QWLAN_VERSION_EXTRA "I"
#define QWLAN_VERSION_BUILD 34
#define QWLAN_VERSIONSTR "2.0.8.34F"
#define QWLAN_VERSIONSTR "2.0.8.34I"
#endif /* QWLAN_VERSION_H */

View File

@ -654,6 +654,7 @@ static void __sch_beacon_process_for_session(struct mac_context *mac_ctx,
wlan_reg_read_current_country(mac_ctx->psoc,
programmed_country);
status = wlan_reg_get_6g_power_type_for_ctry(mac_ctx->psoc,
mac_ctx->pdev,
bcn->countryInfoParam.countryString,
programmed_country, &pwr_type_6g,
&ctry_code_match, REG_MAX_AP_TYPE);

View File

@ -1195,6 +1195,13 @@ populate_dot11f_vht_caps(struct mac_context *mac,
return QDF_STATUS_SUCCESS;
}
if (wlan_reg_is_24ghz_ch_freq(pe_session->curr_op_freq)) {
pDot11f->supportedChannelWidthSet = 0;
} else {
if (pe_session->ch_width <= CH_WIDTH_80MHZ)
pDot11f->supportedChannelWidthSet = 0;
}
if (pe_session->ht_config.ht_rx_ldpc)
pDot11f->ldpcCodingCap =
pe_session->vht_config.ldpc_coding;
@ -6401,6 +6408,16 @@ QDF_STATUS populate_dot11f_he_caps(struct mac_context *mac_ctx, struct pe_sessio
}
populate_dot11f_twt_he_cap(mac_ctx, session, he_cap);
if (wlan_reg_is_5ghz_ch_freq(session->curr_op_freq) ||
wlan_reg_is_6ghz_chan_freq(session->curr_op_freq)) {
if (session->ch_width <= CH_WIDTH_80MHZ) {
he_cap->chan_width_2 = 0;
he_cap->chan_width_3 = 0;
} else if (session->ch_width == CH_WIDTH_160MHZ) {
he_cap->chan_width_3 = 0;
}
}
return QDF_STATUS_SUCCESS;
}

View File

@ -14999,6 +14999,7 @@ QDF_STATUS csr_send_join_req_msg(struct mac_context *mac, uint32_t sessionId,
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
uint8_t acm_mask = 0, uapsd_mask;
enum reg_6g_ap_type ap_6g_power_type = REG_INDOOR_AP;
uint32_t bss_freq;
uint16_t msgLen, ieLen;
tSirMacRateSet OpRateSet;
@ -15831,16 +15832,21 @@ QDF_STATUS csr_send_join_req_msg(struct mac_context *mac, uint32_t sessionId,
else
csr_join_req->isQosEnabled = false;
if (pIes->he_op.oper_info_6g_present) {
ap_6g_power_type = pIes->he_op.oper_info_6g.info.reg_info;
}
if (wlan_reg_is_6ghz_chan_freq(pBssDescription->chan_freq)) {
if (!pIes->Country.present)
sme_debug("Channel is 6G but country IE not present");
wlan_reg_read_current_country(mac->psoc,
programmed_country);
status = wlan_reg_get_6g_power_type_for_ctry(mac->psoc,
mac->pdev,
pIes->Country.country,
programmed_country, &power_type_6g,
&ctry_code_match,
pSession->ap_power_type);
ap_6g_power_type);
if (QDF_IS_STATUS_ERROR(status))
break;
csr_join_req->ap_power_type_6g = power_type_6g;
@ -16402,8 +16408,14 @@ QDF_STATUS csr_send_mb_start_bss_req_msg(struct mac_context *mac, uint32_t
value = MLME_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_FW_DEF;
pMsg->vht_config.csnof_beamformer_antSup = (uint8_t)value;
pMsg->vht_config.mu_beam_formee = 0;
/* Disable shortgi160 and 80 for 2.4Ghz BSS*/
if (wlan_reg_is_24ghz_ch_freq(pParam->operation_chan_freq)) {
pMsg->vht_config.shortgi160and80plus80 = 0;
pMsg->vht_config.shortgi80 = 0;
}
sme_debug("ht capability 0x%x VHT capability 0x%x",
sme_debug("cur_op_freq %d ht capability 0x%x VHT capability 0x%x",
pParam->operation_chan_freq,
(*(uint32_t *) &pMsg->ht_config),
(*(uint32_t *) &pMsg->vht_config));
#ifdef WLAN_FEATURE_11W