diff --git a/components/mlme/dispatcher/src/wlan_mlme_api.c b/components/mlme/dispatcher/src/wlan_mlme_api.c index 2f1ed4917d86..73f46f0ee8d3 100644 --- a/components/mlme/dispatcher/src/wlan_mlme_api.c +++ b/components/mlme/dispatcher/src/wlan_mlme_api.c @@ -1791,7 +1791,7 @@ QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc, struct wma_tgt_vht_cap *cfg) { struct wlan_mlme_psoc_obj *mlme_obj; - struct mlme_vht_capabilities_info vht_cap_info; + struct mlme_vht_capabilities_info *vht_cap_info; uint32_t value = 0; bool hw_rx_ldpc_enabled; @@ -1801,64 +1801,65 @@ QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc, return QDF_STATUS_E_FAILURE; } - vht_cap_info = mlme_obj->cfg.vht_caps.vht_cap_info; + vht_cap_info = &mlme_obj->cfg.vht_caps.vht_cap_info; /* * VHT max MPDU length: * override if user configured value is too high * that the target cannot support */ - if (vht_cap_info.ampdu_len > cfg->vht_max_mpdu) - vht_cap_info.ampdu_len = cfg->vht_max_mpdu; + if (vht_cap_info->ampdu_len > cfg->vht_max_mpdu) + vht_cap_info->ampdu_len = cfg->vht_max_mpdu; value = (CFG_VHT_BASIC_MCS_SET_STADEF & VHT_MCS_1x1) | - vht_cap_info.basic_mcs_set; - if (vht_cap_info.enable2x2) - value = (value & VHT_MCS_2x2) | (vht_cap_info.rx_mcs2x2 << 2); - vht_cap_info.basic_mcs_set = value; + vht_cap_info->basic_mcs_set; + if (vht_cap_info->enable2x2) + value = (value & VHT_MCS_2x2) | (vht_cap_info->rx_mcs2x2 << 2); + vht_cap_info->basic_mcs_set = value; - value = (CFG_VHT_RX_MCS_MAP_STADEF & VHT_MCS_1x1) | vht_cap_info.rx_mcs; - if (vht_cap_info.enable2x2) - value = (value & VHT_MCS_2x2) | (vht_cap_info.rx_mcs2x2 << 2); - vht_cap_info.rx_mcs_map = value; + value = (CFG_VHT_RX_MCS_MAP_STADEF & VHT_MCS_1x1) | vht_cap_info->rx_mcs; - value = (CFG_VHT_TX_MCS_MAP_STADEF & VHT_MCS_1x1) | vht_cap_info.tx_mcs; - if (vht_cap_info.enable2x2) - value = (value & VHT_MCS_2x2) | (vht_cap_info.tx_mcs2x2 << 2); - vht_cap_info.tx_mcs_map = value; + if (vht_cap_info->enable2x2) + value = (value & VHT_MCS_2x2) | (vht_cap_info->rx_mcs2x2 << 2); + vht_cap_info->rx_mcs_map = value; + + value = (CFG_VHT_TX_MCS_MAP_STADEF & VHT_MCS_1x1) | vht_cap_info->tx_mcs; + if (vht_cap_info->enable2x2) + value = (value & VHT_MCS_2x2) | (vht_cap_info->tx_mcs2x2 << 2); + vht_cap_info->tx_mcs_map = value; /* Set HW RX LDPC capability */ hw_rx_ldpc_enabled = !!cfg->vht_rx_ldpc; - if (hw_rx_ldpc_enabled != vht_cap_info.ldpc_coding_cap) - vht_cap_info.ldpc_coding_cap = hw_rx_ldpc_enabled; + if (hw_rx_ldpc_enabled != vht_cap_info->ldpc_coding_cap) + vht_cap_info->ldpc_coding_cap = hw_rx_ldpc_enabled; /* set the Guard interval 80MHz */ - if (vht_cap_info.short_gi_80mhz && !cfg->vht_short_gi_80) - vht_cap_info.short_gi_80mhz = cfg->vht_short_gi_80; + if (vht_cap_info->short_gi_80mhz && !cfg->vht_short_gi_80) + vht_cap_info->short_gi_80mhz = cfg->vht_short_gi_80; /* Set VHT TX STBC cap */ - if (vht_cap_info.tx_stbc && !cfg->vht_tx_stbc) - vht_cap_info.tx_stbc = cfg->vht_tx_stbc; + if (vht_cap_info->tx_stbc && !cfg->vht_tx_stbc) + vht_cap_info->tx_stbc = cfg->vht_tx_stbc; /* Set VHT RX STBC cap */ - if (vht_cap_info.rx_stbc && !cfg->vht_rx_stbc) - vht_cap_info.rx_stbc = cfg->vht_rx_stbc; + if (vht_cap_info->rx_stbc && !cfg->vht_rx_stbc) + vht_cap_info->rx_stbc = cfg->vht_rx_stbc; /* Set VHT SU Beamformer cap */ - if (vht_cap_info.su_bformer && !cfg->vht_su_bformer) - vht_cap_info.su_bformer = cfg->vht_su_bformer; + if (vht_cap_info->su_bformer && !cfg->vht_su_bformer) + 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) - vht_cap_info.su_bformee = cfg->vht_su_bformee; + if (vht_cap_info->enable_txbf_20mhz && !cfg->vht_su_bformee) + vht_cap_info->su_bformee = cfg->vht_su_bformee; /* Set VHT MU Beamformer cap */ - if (vht_cap_info.mu_bformer && !cfg->vht_mu_bformer) - vht_cap_info.mu_bformer = cfg->vht_mu_bformer; + if (vht_cap_info->mu_bformer && !cfg->vht_mu_bformer) + vht_cap_info->mu_bformer = cfg->vht_mu_bformer; /* Set VHT MU Beamformee cap */ - if (vht_cap_info.enable_mu_bformee && !cfg->vht_mu_bformee) - vht_cap_info.enable_mu_bformee = cfg->vht_mu_bformee; + if (vht_cap_info->enable_mu_bformee && !cfg->vht_mu_bformee) + vht_cap_info->enable_mu_bformee = cfg->vht_mu_bformee; /* * VHT max AMPDU len exp: @@ -1867,16 +1868,16 @@ QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc, * Even though Rome publish ampdu_len=7, it can * only support 4 because of some h/w bug. */ - if (vht_cap_info.ampdu_len_exponent > cfg->vht_max_ampdu_len_exp) - vht_cap_info.ampdu_len_exponent = cfg->vht_max_ampdu_len_exp; + if (vht_cap_info->ampdu_len_exponent > cfg->vht_max_ampdu_len_exp) + vht_cap_info->ampdu_len_exponent = cfg->vht_max_ampdu_len_exp; /* Set VHT TXOP PS CAP */ - if (vht_cap_info.txop_ps && !cfg->vht_txop_ps) - vht_cap_info.txop_ps = cfg->vht_txop_ps; + if (vht_cap_info->txop_ps && !cfg->vht_txop_ps) + vht_cap_info->txop_ps = cfg->vht_txop_ps; /* set the Guard interval 160MHz */ - if (vht_cap_info.short_gi_160mhz && !cfg->vht_short_gi_160) - vht_cap_info.short_gi_160mhz = cfg->vht_short_gi_160; + if (vht_cap_info->short_gi_160mhz && !cfg->vht_short_gi_160) + vht_cap_info->short_gi_160mhz = cfg->vht_short_gi_160; return QDF_STATUS_SUCCESS; @@ -1885,7 +1886,7 @@ QDF_STATUS mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc, QDF_STATUS mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc) { struct wlan_mlme_psoc_obj *mlme_obj; - struct mlme_vht_capabilities_info vht_cap_info; + struct mlme_vht_capabilities_info *vht_cap_info; uint32_t temp = 0; mlme_obj = mlme_get_psoc_obj(psoc); @@ -1894,34 +1895,34 @@ QDF_STATUS mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc) return QDF_STATUS_E_FAILURE; } - vht_cap_info = mlme_obj->cfg.vht_caps.vht_cap_info; + vht_cap_info = &mlme_obj->cfg.vht_caps.vht_cap_info; - temp = vht_cap_info.basic_mcs_set; - temp = (temp & 0xFFFC) | vht_cap_info.rx_mcs; - if (vht_cap_info.enable2x2) - temp = (temp & 0xFFF3) | (vht_cap_info.rx_mcs2x2 << 2); + temp = vht_cap_info->basic_mcs_set; + temp = (temp & 0xFFFC) | vht_cap_info->rx_mcs; + if (vht_cap_info->enable2x2) + temp = (temp & 0xFFF3) | (vht_cap_info->rx_mcs2x2 << 2); else temp |= 0x000C; - vht_cap_info.basic_mcs_set = temp; + vht_cap_info->basic_mcs_set = temp; - temp = vht_cap_info.rx_mcs_map; - temp = (temp & 0xFFFC) | vht_cap_info.rx_mcs; - if (vht_cap_info.enable2x2) - temp = (temp & 0xFFF3) | (vht_cap_info.rx_mcs2x2 << 2); + temp = vht_cap_info->rx_mcs_map; + temp = (temp & 0xFFFC) | vht_cap_info->rx_mcs; + if (vht_cap_info->enable2x2) + temp = (temp & 0xFFF3) | (vht_cap_info->rx_mcs2x2 << 2); else temp |= 0x000C; - vht_cap_info.rx_mcs_map = temp; + vht_cap_info->rx_mcs_map = temp; - temp = vht_cap_info.tx_mcs_map; - temp = (temp & 0xFFFC) | vht_cap_info.tx_mcs; - if (vht_cap_info.enable2x2) - temp = (temp & 0xFFF3) | (vht_cap_info.tx_mcs2x2 << 2); + temp = vht_cap_info->tx_mcs_map; + temp = (temp & 0xFFFC) | vht_cap_info->tx_mcs; + if (vht_cap_info->enable2x2) + temp = (temp & 0xFFF3) | (vht_cap_info->tx_mcs2x2 << 2); else temp |= 0x000C; - vht_cap_info.tx_mcs_map = temp; + vht_cap_info->tx_mcs_map = temp; return QDF_STATUS_SUCCESS; }