qcacld-3.0: Fix the issue with SU Tx beamformee in 20MHz mode

Correct the configuration check to enable/disable the Tx SU
beamformee setting in 20MHz mode operation.

Change-Id: I958d5319acf98931187304f2c6fe2a9aff5991b7
CRs-Fixed: 2343849
This commit is contained in:
Kiran Kumar Lokere
2018-11-01 19:03:23 -07:00
committed by nshrivas
parent d3826022f0
commit eaaa3462e6
4 changed files with 6 additions and 7 deletions

View File

@@ -551,9 +551,8 @@ static void mlme_init_vht_cap_cfg(struct wlan_objmgr_psoc *psoc,
vht_cap_info->rx_stbc =
cfg_get(psoc, CFG_RX_STBC_ENABLE);
if (vht_cap_info->enable_txbf_20mhz)
vht_cap_info->su_bformee =
cfg_default(CFG_VHT_SU_BEAMFORMEE_CAP);
vht_cap_info->su_bformee =
cfg_default(CFG_VHT_SU_BEAMFORMEE_CAP);
vht_cap_info->mu_bformer =
cfg_default(CFG_VHT_MU_BEAMFORMER_CAP);

View File

@@ -1573,7 +1573,7 @@ wlan_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc, bool *value)
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.vht_caps.vht_cap_info.enable_txbf_20mhz;
*value = mlme_obj->cfg.vht_caps.vht_cap_info.su_bformee;
return QDF_STATUS_SUCCESS;
}
@@ -1852,7 +1852,7 @@ QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc,
vht_cap_info->su_bformer = cfg->vht_su_bformer;
/* check and update SU BEAMFORMEE capabality */
if (vht_cap_info->enable_txbf_20mhz && !cfg->vht_su_bformee)
if (vht_cap_info->su_bformee && !cfg->vht_su_bformee)
vht_cap_info->su_bformee = cfg->vht_su_bformee;
/* Set VHT MU Beamformer cap */

View File

@@ -3864,7 +3864,7 @@ QDF_STATUS lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
psessionEntry->ch_width;
} else {
sta_context->ch_width = CH_WIDTH_20MHZ;
if (vht_cap_info.enable_txbf_20mhz)
if (!vht_cap_info.enable_txbf_20mhz)
sta_context->vhtTxBFCapable = 0;
}

View File

@@ -263,7 +263,7 @@ lim_extract_ap_capability(tpAniSirGlobal mac_ctx, uint8_t *p_ie,
if (session->vhtCapabilityPresentInBeacon == 1 &&
!session->htSupportedChannelWidthSet) {
if (mac_ctx->mlme_cfg->vht_caps.vht_cap_info.enable_txbf_20mhz)
if (!mac_ctx->mlme_cfg->vht_caps.vht_cap_info.enable_txbf_20mhz)
session->vht_config.su_beam_formee = 0;
} else if (session->vhtCapabilityPresentInBeacon &&
vht_op->chanWidth) {