From 8dba1899b85928ea94267d225fef9f980fa8eeea Mon Sep 17 00:00:00 2001 From: Kiran Kumar Lokere Date: Tue, 24 Jul 2018 17:09:52 -0700 Subject: [PATCH] qcacld-3.0: Fix the issue with HE MCS cfg with Nss setting When the Nss is set to 2,MCS0-11 is used as default HE MCS config for 2x2 mode which may not be same as 1x1 HE MCS config. Use the 1x1 MCS config for Nss setting to 2 to keep the MCS config same for both streams. Change-Id: I76157357667696979976983e81f014182dfe769e CRs-Fixed: 2284467 --- core/sme/src/common/sme_api.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index 0a22fbed1300..2ae9a9c79966 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -12725,6 +12725,7 @@ void sme_update_he_cap_nss(tHalHandle hal, uint8_t session_id, struct csr_roam_session *csr_session; uint32_t tx_mcs_map = 0; uint32_t rx_mcs_map = 0; + uint32_t mcs_map = 0; if (!nss || (nss > 2)) { sme_err("invalid Nss value %d", nss); @@ -12732,12 +12733,13 @@ void sme_update_he_cap_nss(tHalHandle hal, uint8_t session_id, csr_session = CSR_GET_SESSION(mac_ctx, session_id); sme_cfg_get_int(hal, WNI_CFG_HE_RX_MCS_MAP_LT_80, &rx_mcs_map); sme_cfg_get_int(hal, WNI_CFG_HE_TX_MCS_MAP_LT_80, &tx_mcs_map); + mcs_map = rx_mcs_map & 0x3; if (nss == 1) { tx_mcs_map = HE_SET_MCS_4_NSS(tx_mcs_map, HE_MCS_DISABLE, 2); rx_mcs_map = HE_SET_MCS_4_NSS(rx_mcs_map, HE_MCS_DISABLE, 2); } else { - tx_mcs_map = HE_SET_MCS_4_NSS(tx_mcs_map, HE_MCS_0_11, 2); - rx_mcs_map = HE_SET_MCS_4_NSS(rx_mcs_map, HE_MCS_0_11, 2); + tx_mcs_map = HE_SET_MCS_4_NSS(tx_mcs_map, mcs_map, 2); + rx_mcs_map = HE_SET_MCS_4_NSS(rx_mcs_map, mcs_map, 2); } sme_info("new HE Nss MCS MAP: Rx 0x%0X, Tx: 0x%0X", rx_mcs_map, tx_mcs_map); @@ -12855,6 +12857,7 @@ void sme_set_he_mu_edca_def_cfg(mac_handle_t hal) tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal); uint8_t i; + sme_debug("Set MU EDCA params to default"); for (i = 0; i < MAX_NUM_AC; i++) { mac_ctx->usr_mu_edca_params[i].aci.aifsn = MU_EDCA_DEF_AIFSN; mac_ctx->usr_mu_edca_params[i].aci.aci = i;