qcacld-3.0: ADD MLME CFG items of WMM CFG Items

Add the following WMM CFG items to MLME cfg Items:
1. WNI_CFG_QOS_ENABLED
2. WNI_CFG_WME_ENABLED
3. WNI_CFG_MAX_SP_LENGTH
4. WNI_CFG_WSM_ENABLED
5. WNI_CFG_EDCA_PROFILE

Deleted following WMM CFG Items:
1. WNI_CFG_ADMIT_POLICY
2. WNI_CFG_ADMIT_BWFACTOR

Change-Id: I16f9c5a71d1e8fe7cb1b029e3ec7ec2159bdd5b4
CRs-Fixed: 2304998
This commit is contained in:
Pragaspathi Thilagaraj 2018-09-06 15:38:49 +05:30 • committed by nshrivas
commit ec7dc2502a
17 changed files with 130 additions and 153 deletions

View file

@ -1123,6 +1123,16 @@ static void mlme_init_wep_cfg(struct wlan_mlme_wep_cfg *wep_params)
mlme_init_wep_keys(wep_params);
}
static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_wmm_params *wmm_params)
{
wmm_params->qos_enabled = cfg_default(CFG_QOS_ENABLED);
wmm_params->wme_enabled = cfg_default(CFG_WME_ENABLED);
wmm_params->max_sp_length = cfg_default(CFG_MAX_SP_LENGTH);
wmm_params->wsm_enabled = cfg_default(CFG_WSM_ENABLED);
wmm_params->edca_profile = cfg_default(CFG_EDCA_PROFILE);
}
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
{
struct wlan_mlme_psoc_obj *mlme_obj;
@ -1140,6 +1150,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
mlme_init_edca_params(&mlme_cfg->edca_params);
mlme_init_timeout_cfg(psoc, &mlme_cfg->timeouts);
mlme_init_ht_cap_in_cfg(psoc, &mlme_cfg->ht_caps);
mlme_init_wmm_in_cfg(psoc, &mlme_cfg->wmm_params);
mlme_init_mbo_cfg(psoc, &mlme_cfg->mbo_cfg);
mlme_init_qos_cfg(psoc, &mlme_cfg->qos_mlme_params);
mlme_init_rates_in_cfg(psoc, &mlme_cfg->rates);

View file

@ -39,6 +39,7 @@
#include "wlan_mlme_product_details_cfg.h"
#include "cfg_mlme_sta.h"
#include "cfg_sap_protection.h"
#include "cfg_mlme_fe_wmm.h"
#include "cfg_mlme_sap.h"
#include "cfg_mlme_scoring.h"
#include "cfg_mlme_oce.h"
@ -62,6 +63,7 @@
CFG_OCE_ALL \
CFG_QOS_ALL \
CFG_RATES_ALL \
CFG_WMM_PARAMS_ALL\
CFG_SAP_ALL \
CFG_SAP_PROTECTION_ALL \
CFG_SCORING_ALL \

View file

@ -0,0 +1,64 @@
/*
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: This file contains centralized definitions of converged configuration.
*/
#ifndef __CFG_MLME_FE_WMM_H
#define __CFG_MLME_FE_WMM_H
#define CFG_QOS_ENABLED CFG_BOOL( \
"qos_enabled", \
0, \
"QOS Enabled")
#define CFG_WME_ENABLED CFG_BOOL( \
"wme_enabled", \
1, \
"WME Enabled")
#define CFG_MAX_SP_LENGTH CFG_UINT( \
"max_sp_length", \
0, \
3, \
0, \
CFG_VALUE_OR_DEFAULT, \
"MAX sp length")
#define CFG_WSM_ENABLED CFG_BOOL( \
"wsm_enabled", \
0, \
"WSM Enabled")
#define CFG_EDCA_PROFILE CFG_UINT( \
"edca_profile", \
0, \
4, \
1, \
CFG_VALUE_OR_DEFAULT, \
"Edca Profile")
#define CFG_WMM_PARAMS_ALL \
CFG(CFG_QOS_ENABLED) \
CFG(CFG_WME_ENABLED) \
CFG(CFG_MAX_SP_LENGTH) \
CFG(CFG_WSM_ENABLED) \
CFG(CFG_EDCA_PROFILE)
#endif /* __CFG_MLME_FE_WMM_H */

View file

@ -834,6 +834,22 @@ struct wlan_mlme_lfr_cfg {
uint32_t max_num_pre_auth;
};
/**
* struct wlan_mlme_wmm_params - WMM CFG Items
* @qos_enabled: AP is enabled with 11E
* @wme_enabled: AP is enabled with WMM
* @max_sp_length: Maximum SP Length
* @wsm_enabled: AP is enabled with WSM
* @edca_profile: edca profile id
*/
struct wlan_mlme_wmm_params {
bool qos_enabled;
bool wme_enabled;
uint8_t max_sp_length;
bool wsm_enabled;
uint32_t edca_profile;
};
/**
* struct wlan_mlme_weight_config - weight params to
* calculate best candidate
@ -1066,6 +1082,7 @@ struct wlan_mlme_wep_cfg {
* @acs: ACS related CFG items
* @feature_flags: Feature flag config items
* @wep_params: WEP related config items
* @wmm_params: WMM related CFG Items
*/
struct wlan_mlme_cfg {
struct wlan_mlme_chainmask chainmask_cfg;
@ -1090,6 +1107,7 @@ struct wlan_mlme_cfg {
struct wlan_mlme_acs acs;
struct wlan_mlme_feature_flag feature_flags;
struct wlan_mlme_wep_cfg wep_params;
struct wlan_mlme_wmm_params wmm_params;
};
#endif

View file

@ -41,7 +41,6 @@ enum {
WNI_CFG_VALID_CHANNEL_LIST,
WNI_CFG_APSD_ENABLED,
WNI_CFG_SHORT_PREAMBLE,
WNI_CFG_QOS_ENABLED,
WNI_CFG_11D_ENABLED,
WNI_CFG_MAX_TX_POWER_2_4,
WNI_CFG_MAX_TX_POWER_5,
@ -51,10 +50,6 @@ enum {
WNI_CFG_11G_SHORT_PREAMBLE_ENABLED,
WNI_CFG_11G_SHORT_SLOT_TIME_ENABLED,
WNI_CFG_11G_ONLY_POLICY,
WNI_CFG_WME_ENABLED,
WNI_CFG_MAX_SP_LENGTH,
WNI_CFG_WSM_ENABLED,
WNI_CFG_EDCA_PROFILE,
WNI_CFG_LOCAL_POWER_CONSTRAINT,
WNI_CFG_ADMIT_POLICY,
WNI_CFG_ADMIT_BWFACTOR,

View file

@ -761,12 +761,7 @@ QDF_STATUS cfg_get_capability_info(tpAniSirGlobal pMac, uint16_t *pCap,
pCapInfo->spectrumMgt = 1;
}
/* QoS bit */
if (wlan_cfg_get_int(pMac, WNI_CFG_QOS_ENABLED, &val) !=
QDF_STATUS_SUCCESS) {
pe_err("cfg get WNI_CFG_QOS_ENABLED failed");
return QDF_STATUS_E_FAILURE;
}
if (val)
if (pMac->mlme_cfg->wmm_params.qos_enabled)
pCapInfo->qos = 1;
/* APSD bit */

View file

@ -56,7 +56,6 @@ const char *cfg_get_string(uint16_t cfg_id)
CASE_RETURN_STRING(WNI_CFG_VALID_CHANNEL_LIST);
CASE_RETURN_STRING(WNI_CFG_APSD_ENABLED);
CASE_RETURN_STRING(WNI_CFG_SHORT_PREAMBLE);
CASE_RETURN_STRING(WNI_CFG_QOS_ENABLED);
CASE_RETURN_STRING(WNI_CFG_11D_ENABLED);
CASE_RETURN_STRING(WNI_CFG_MAX_TX_POWER_2_4);
CASE_RETURN_STRING(WNI_CFG_MAX_TX_POWER_5);
@ -66,10 +65,6 @@ const char *cfg_get_string(uint16_t cfg_id)
CASE_RETURN_STRING(WNI_CFG_11G_SHORT_PREAMBLE_ENABLED);
CASE_RETURN_STRING(WNI_CFG_11G_SHORT_SLOT_TIME_ENABLED);
CASE_RETURN_STRING(WNI_CFG_11G_ONLY_POLICY);
CASE_RETURN_STRING(WNI_CFG_WME_ENABLED);
CASE_RETURN_STRING(WNI_CFG_MAX_SP_LENGTH);
CASE_RETURN_STRING(WNI_CFG_WSM_ENABLED);
CASE_RETURN_STRING(WNI_CFG_EDCA_PROFILE);
CASE_RETURN_STRING(WNI_CFG_LOCAL_POWER_CONSTRAINT);
CASE_RETURN_STRING(WNI_CFG_ADMIT_POLICY);
CASE_RETURN_STRING(WNI_CFG_ADMIT_BWFACTOR);

View file

@ -101,12 +101,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
WNI_CFG_SHORT_PREAMBLE_STAMIN,
WNI_CFG_SHORT_PREAMBLE_STAMAX,
WNI_CFG_SHORT_PREAMBLE_STADEF},
{WNI_CFG_QOS_ENABLED,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT |
CFG_CTL_RESTART,
WNI_CFG_QOS_ENABLED_STAMIN,
WNI_CFG_QOS_ENABLED_STAMAX,
WNI_CFG_QOS_ENABLED_STADEF},
{WNI_CFG_11D_ENABLED,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT |
CFG_CTL_RESTART,
@ -150,28 +144,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
WNI_CFG_11G_ONLY_POLICY_STAMIN,
WNI_CFG_11G_ONLY_POLICY_STAMAX,
WNI_CFG_11G_ONLY_POLICY_STADEF},
{WNI_CFG_WME_ENABLED,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT |
CFG_CTL_RESTART,
WNI_CFG_WME_ENABLED_STAMIN,
WNI_CFG_WME_ENABLED_STAMAX,
WNI_CFG_WME_ENABLED_STADEF},
{WNI_CFG_MAX_SP_LENGTH,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_MAX_SP_LENGTH_STAMIN,
WNI_CFG_MAX_SP_LENGTH_STAMAX,
WNI_CFG_MAX_SP_LENGTH_STADEF},
{WNI_CFG_WSM_ENABLED,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_WSM_ENABLED_STAMIN,
WNI_CFG_WSM_ENABLED_STAMAX,
WNI_CFG_WSM_ENABLED_STADEF},
{WNI_CFG_EDCA_PROFILE,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT |
CFG_CTL_NTF_SCH,
WNI_CFG_EDCA_PROFILE_STAMIN,
WNI_CFG_EDCA_PROFILE_STAMAX,
WNI_CFG_EDCA_PROFILE_STADEF},
{WNI_CFG_LOCAL_POWER_CONSTRAINT,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT |
CFG_CTL_RESTART,

View file

@ -70,8 +70,6 @@ lim_admit_control_delete_ts(tpAniSirGlobal pMac,
tSirMacTSInfo *tsinfo,
uint8_t *tsStatus, uint8_t *tspecIdx);
extern QDF_STATUS lim_update_admit_policy(tpAniSirGlobal pMac);
QDF_STATUS lim_admit_control_init(tpAniSirGlobal pMac);
#ifdef FEATURE_WLAN_ESE
QDF_STATUS lim_send_hal_msg_add_ts(tpAniSirGlobal pMac,

View file

@ -815,35 +815,6 @@ QDF_STATUS lim_admit_control_init(tpAniSirGlobal pMac)
return QDF_STATUS_SUCCESS;
}
/** -------------------------------------------------------------
\fn lim_update_admit_policy
\brief Set the admit control policy based on CFG parameters
\param tpAniSirGlobal pMac
\return QDF_STATUS - status
-------------------------------------------------------------*/
QDF_STATUS lim_update_admit_policy(tpAniSirGlobal pMac)
{
uint32_t val;
if (wlan_cfg_get_int(pMac, WNI_CFG_ADMIT_POLICY, &val) != QDF_STATUS_SUCCESS) {
pe_err("Unable to get CFG_ADMIT_POLICY");
return QDF_STATUS_E_FAILURE;
}
pMac->lim.admitPolicyInfo.type = (uint8_t) val;
if (wlan_cfg_get_int(pMac, WNI_CFG_ADMIT_BWFACTOR, &val) != QDF_STATUS_SUCCESS) {
pe_err("Unable to get CFG_ADMIT_BWFACTOR");
return QDF_STATUS_E_FAILURE;
}
pMac->lim.admitPolicyInfo.bw_factor = (uint8_t) val;
pe_debug("LIM: AdmitPolicy: %d bw_factor: %d",
pMac->lim.admitPolicyInfo.type,
pMac->lim.admitPolicyInfo.bw_factor);
return QDF_STATUS_SUCCESS;
}
/** -------------------------------------------------------------
\fn lim_send_hal_msg_add_ts
\brief Send halMsg_AddTs to HAL

View file

@ -2303,7 +2303,7 @@ void lim_send_mlm_assoc_ind(tpAniSirGlobal mac_ctx,
uint8_t sub_type;
const uint8_t *wpsie = NULL;
uint8_t maxidx, i;
uint32_t tmp;
bool wme_enable;
/* Get a copy of the already parsed Assoc Request */
assoc_req =
@ -2434,17 +2434,9 @@ void lim_send_mlm_assoc_ind(tpAniSirGlobal mac_ctx,
}
if (assoc_req->wmeInfoPresent) {
if (wlan_cfg_get_int (mac_ctx,
(uint16_t) WNI_CFG_WME_ENABLED, &tmp)
!= QDF_STATUS_SUCCESS)
pe_err("wlan_cfg_get_int failed for id: %d",
WNI_CFG_WME_ENABLED);
/* check whether AP is enabled with WMM */
if (tmp)
assoc_ind->WmmStaInfoPresent = 1;
else
assoc_ind->WmmStaInfoPresent = 0;
/* Set whether AP is enabled with WMM or not */
wme_enable = mac_ctx->mlme_cfg->wmm_params.wme_enabled;
assoc_ind->WmmStaInfoPresent = wme_enable;
/*
* Note: we are not rejecting association here
* because IOT will fail

View file

@ -297,6 +297,7 @@ void lim_apply_configuration(tpAniSirGlobal pMac, tpPESession psessionEntry)
static void lim_update_config(tpAniSirGlobal pMac, tpPESession psessionEntry)
{
uint32_t val;
bool enabled;
if (wlan_cfg_get_int(pMac, WNI_CFG_SHORT_PREAMBLE, &val) != QDF_STATUS_SUCCESS)
pe_err("cfg get short preamble failed");
@ -304,16 +305,12 @@ static void lim_update_config(tpAniSirGlobal pMac, tpPESession psessionEntry)
/* In STA case this parameter is filled during the join request */
if (LIM_IS_AP_ROLE(psessionEntry) ||
LIM_IS_IBSS_ROLE(psessionEntry)) {
if (wlan_cfg_get_int(pMac, WNI_CFG_WME_ENABLED, &val) !=
QDF_STATUS_SUCCESS)
pe_err("cfg get wme enabled failed");
psessionEntry->limWmeEnabled = (val) ? 1 : 0;
LIM_IS_IBSS_ROLE(psessionEntry)) {
enabled = pMac->mlme_cfg->wmm_params.wme_enabled;
psessionEntry->limWmeEnabled = (enabled) ? 1 : 0;
}
if (wlan_cfg_get_int(pMac, WNI_CFG_WSM_ENABLED, &val) != QDF_STATUS_SUCCESS)
pe_err("cfg get wsm enabled failed");
psessionEntry->limWsmEnabled = (val) ? 1 : 0;
enabled = pMac->mlme_cfg->wmm_params.wsm_enabled;
psessionEntry->limWsmEnabled = (enabled) ? 1 : 0;
if ((!psessionEntry->limWmeEnabled) && (psessionEntry->limWsmEnabled)) {
pe_err("Can't enable WSM without WME");
@ -321,10 +318,8 @@ static void lim_update_config(tpAniSirGlobal pMac, tpPESession psessionEntry)
}
/* In STA , this parameter is filled during the join request */
if (LIM_IS_AP_ROLE(psessionEntry) || LIM_IS_IBSS_ROLE(psessionEntry)) {
if (wlan_cfg_get_int(pMac, WNI_CFG_QOS_ENABLED, &val) !=
QDF_STATUS_SUCCESS)
pe_err("cfg get qos enabled failed");
psessionEntry->limQosEnabled = (val) ? 1 : 0;
enabled = pMac->mlme_cfg->wmm_params.qos_enabled;
psessionEntry->limQosEnabled = (enabled) ? 1 : 0;
}
psessionEntry->limHcfEnabled = pMac->mlme_cfg->feature_flags.enable_hcf;

View file

@ -1125,6 +1125,8 @@ QDF_STATUS lim_send_tdls_link_setup_req_frame(tpAniSirGlobal pMac,
QDF_STATUS qdf_status;
uint32_t selfDot11Mode;
uint8_t smeSessionId = 0;
uint8_t sp_length = 0;
/* Placeholder to support different channel bonding mode of TDLS than AP. */
/* Today, WNI_CFG_CHANNEL_BONDING_MODE will be overwritten when connecting to AP */
/* To support this feature, we need to introduce WNI_CFG_TDLS_CHANNEL_BONDING_MODE */
@ -1169,9 +1171,9 @@ QDF_STATUS lim_send_tdls_link_setup_req_frame(tpAniSirGlobal pMac,
&tdlsSetupReq.ExtCap);
if (1 == pMac->lim.gLimTDLSWmmMode) {
uint32_t val = 0;
pe_debug("populate WMM IE in Setup Request Frame");
sp_length = pMac->mlme_cfg->wmm_params.max_sp_length;
/* include WMM IE */
tdlsSetupReq.WMMInfoStation.version = SIR_MAC_OUI_VERSION_1;
tdlsSetupReq.WMMInfoStation.acvo_uapsd =
@ -1182,12 +1184,7 @@ QDF_STATUS lim_send_tdls_link_setup_req_frame(tpAniSirGlobal pMac,
((pMac->lim.gLimTDLSUapsdMask & 0x04) >> 2);
tdlsSetupReq.WMMInfoStation.acbe_uapsd =
((pMac->lim.gLimTDLSUapsdMask & 0x08) >> 3);
if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) !=
QDF_STATUS_SUCCESS)
pe_warn("could not retrieve Max SP Length");
tdlsSetupReq.WMMInfoStation.max_sp_length = (uint8_t) val;
tdlsSetupReq.WMMInfoStation.max_sp_length = sp_length;
tdlsSetupReq.WMMInfoStation.present = 1;
} else {
/*
@ -1579,6 +1576,7 @@ static QDF_STATUS lim_send_tdls_setup_rsp_frame(tpAniSirGlobal pMac,
void *pPacket;
QDF_STATUS qdf_status;
uint32_t selfDot11Mode;
uint8_t max_sp_length = 0;
/* Placeholder to support different channel bonding mode of TDLS than AP. */
/* Today, WNI_CFG_CHANNEL_BONDING_MODE will be overwritten when connecting to AP */
/* To support this feature, we need to introduce WNI_CFG_TDLS_CHANNEL_BONDING_MODE */
@ -1632,9 +1630,9 @@ static QDF_STATUS lim_send_tdls_setup_rsp_frame(tpAniSirGlobal pMac,
&tdlsSetupRsp.ExtCap);
if (1 == pMac->lim.gLimTDLSWmmMode) {
uint32_t val = 0;
pe_debug("populate WMM IE in Setup Response frame");
max_sp_length = pMac->mlme_cfg->wmm_params.max_sp_length;
/* include WMM IE */
tdlsSetupRsp.WMMInfoStation.version = SIR_MAC_OUI_VERSION_1;
tdlsSetupRsp.WMMInfoStation.acvo_uapsd =
@ -1645,10 +1643,7 @@ static QDF_STATUS lim_send_tdls_setup_rsp_frame(tpAniSirGlobal pMac,
((pMac->lim.gLimTDLSUapsdMask & 0x04) >> 2);
tdlsSetupRsp.WMMInfoStation.acbe_uapsd =
((pMac->lim.gLimTDLSUapsdMask & 0x08) >> 3);
if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) !=
QDF_STATUS_SUCCESS)
pe_warn("could not retrieve Max SP Length");
tdlsSetupRsp.WMMInfoStation.max_sp_length = (uint8_t) val;
tdlsSetupRsp.WMMInfoStation.max_sp_length = max_sp_length;
tdlsSetupRsp.WMMInfoStation.present = 1;
} else {
/*

View file

@ -107,8 +107,6 @@ static void sch_edca_profile_update_all(tpAniSirGlobal pmac)
void sch_process_message(tpAniSirGlobal pMac, struct scheduler_msg *pSchMsg)
{
tpPESession psessionEntry = &pMac->lim.gpSession[0];
switch (pSchMsg->type) {
case SIR_CFG_PARAM_UPDATE_IND:
switch (pSchMsg->bodyval) {
@ -117,10 +115,6 @@ void sch_process_message(tpAniSirGlobal pMac, struct scheduler_msg *pSchMsg)
sch_edca_profile_update_all(pMac);
break;
case WNI_CFG_EDCA_PROFILE:
sch_edca_profile_update(pMac, psessionEntry);
break;
default:
pe_err("Cfg param %d indication not handled",
pSchMsg->bodyval);
@ -174,13 +168,9 @@ sch_get_params(tpAniSirGlobal pMac,
val = WNI_CFG_EDCA_PROFILE_ETSI_EUROPE;
pe_debug("switch to ETSI EUROPE profile country code %c%c",
country_code_str[0], country_code_str[1]);
} else if (wlan_cfg_get_int(pMac, WNI_CFG_EDCA_PROFILE, &val) !=
QDF_STATUS_SUCCESS) {
pe_err("failed to cfg get EDCA_PROFILE id %d",
WNI_CFG_EDCA_PROFILE);
return QDF_STATUS_E_FAILURE;
} else {
val = pMac->mlme_cfg->wmm_params.edca_profile;
}
if (val >= WNI_CFG_EDCA_PROFILE_MAX) {
pe_warn("Invalid EDCA_PROFILE %d, using %d instead", val,
WNI_CFG_EDCA_PROFILE_ANI);

View file

@ -1454,14 +1454,12 @@ void
populate_dot11f_qos_caps_station(tpAniSirGlobal pMac, tpPESession pe_session,
tDot11fIEQOSCapsStation *pDot11f)
{
uint32_t val = 0;
uint8_t max_sp_length = 0;
if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) !=
QDF_STATUS_SUCCESS)
pe_err("could not retrieve Max SP Length");
max_sp_length = pMac->mlme_cfg->wmm_params.max_sp_length;
pDot11f->more_data_ack = 0;
pDot11f->max_sp_length = (uint8_t) val;
pDot11f->max_sp_length = max_sp_length;
pDot11f->qack = 0;
if (pMac->lim.gUapsdEnable) {
@ -1944,8 +1942,9 @@ void populate_dot11f_wmm_info_station_per_session(tpAniSirGlobal pMac,
tpPESession psessionEntry,
tDot11fIEWMMInfoStation *pInfo)
{
uint32_t val = 0;
uint8_t max_sp_length = 0;
max_sp_length = pMac->mlme_cfg->wmm_params.max_sp_length;
pInfo->version = SIR_MAC_OUI_VERSION_1;
pInfo->acvo_uapsd =
LIM_UAPSD_GET(ACVO, psessionEntry->gUapsdPerAcBitmask);
@ -1956,11 +1955,7 @@ void populate_dot11f_wmm_info_station_per_session(tpAniSirGlobal pMac,
pInfo->acbe_uapsd =
LIM_UAPSD_GET(ACBE, psessionEntry->gUapsdPerAcBitmask);
if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) !=
QDF_STATUS_SUCCESS)
pe_err("could not retrieve Max SP Length");
pInfo->max_sp_length = (uint8_t) val;
pInfo->max_sp_length = max_sp_length;
pInfo->present = 1;
}
@ -6038,8 +6033,7 @@ populate_dot11f_timing_advert_frame(tpAniSirGlobal mac_ctx,
if (val)
frame->Capabilities.spectrumMgt = 1;
wlan_cfg_get_int(mac_ctx, WNI_CFG_QOS_ENABLED, &val);
if (val)
if (mac_ctx->mlme_cfg->wmm_params.qos_enabled)
frame->Capabilities.qos = 1;
wlan_cfg_get_int(mac_ctx, WNI_CFG_APSD_ENABLED, &val);

View file

@ -2772,8 +2772,8 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
pMac->roam.configParam.is_force_1x1 =
pParam->is_force_1x1;
pMac->roam.configParam.WMMSupportMode = pParam->WMMSupportMode;
cfg_set_int(pMac, WNI_CFG_WME_ENABLED,
(pParam->WMMSupportMode == eCsrRoamWmmNoQos) ? 0 : 1);
pMac->mlme_cfg->wmm_params.wme_enabled =
(pParam->WMMSupportMode == eCsrRoamWmmNoQos) ? 0 : 1;
pMac->roam.configParam.Is11eSupportEnabled =
pParam->Is11eSupportEnabled;
pMac->roam.configParam.Is11dSupportEnabled =

View file

@ -2721,14 +2721,10 @@ QDF_STATUS wma_roam_scan_fill_self_caps(tp_wma_handle wma_handle,
}
if (val)
selfCaps.spectrumMgt = 1;
if (wlan_cfg_get_int(pMac, WNI_CFG_QOS_ENABLED, &val) !=
QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR,
"Failed to get WNI_CFG_QOS_ENABLED");
return QDF_STATUS_E_FAILURE;
}
if (val)
if (pMac->mlme_cfg->wmm_params.qos_enabled)
selfCaps.qos = 1;
if (wlan_cfg_get_int(pMac, WNI_CFG_APSD_ENABLED, &val) !=
QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR,
@ -2813,13 +2809,7 @@ QDF_STATUS wma_roam_scan_fill_self_caps(tp_wma_handle wma_handle,
roam_offload_params->asel_cap = nCfgValue8 & 0xFF;
/* QOS Info */
if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &nCfgValue) !=
QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR,
"Failed to get WNI_CFG_MAX_SP_LENGTH");
return QDF_STATUS_E_FAILURE;
}
nCfgValue8 = (uint8_t) nCfgValue;
nCfgValue8 = pMac->mlme_cfg->wmm_params.max_sp_length;
macQosInfoSta.maxSpLen = nCfgValue8;
macQosInfoSta.moreDataAck = 0;
macQosInfoSta.qack = 0;