qcacld-3.0: Refactor CFG_JOIN_FAILURE_TIMEOUT cfg
Refactor CFG_JOIN_FAILURE_TIMEOUT cfg item. Change-Id: If1b00e47500a354e80ed7dfbf547a4ac2be73a50 CRs-Fixed: 2313427
This commit is contained in:
@@ -318,6 +318,13 @@ static void mlme_init_edca_params(struct wlan_mlme_edca_params *edca_params)
|
|||||||
mlme_init_edca_etsi_cfg(edca_params);
|
mlme_init_edca_etsi_cfg(edca_params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mlme_init_timeout_cfg(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_mlme_timeout *timeouts)
|
||||||
|
{
|
||||||
|
timeouts->join_failure_timeout = cfg_get(psoc,
|
||||||
|
CFG_JOIN_FAILURE_TIMEOUT);
|
||||||
|
}
|
||||||
|
|
||||||
static void mlme_init_ht_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
|
static void mlme_init_ht_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||||
struct wlan_mlme_ht_caps *ht_caps)
|
struct wlan_mlme_ht_caps *ht_caps)
|
||||||
{
|
{
|
||||||
@@ -985,6 +992,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
|||||||
mlme_cfg = &mlme_obj->cfg;
|
mlme_cfg = &mlme_obj->cfg;
|
||||||
mlme_init_generic_cfg(psoc, &mlme_cfg->gen);
|
mlme_init_generic_cfg(psoc, &mlme_cfg->gen);
|
||||||
mlme_init_edca_params(&mlme_cfg->edca_params);
|
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_ht_cap_in_cfg(psoc, &mlme_cfg->ht_caps);
|
||||||
mlme_init_mbo_cfg(psoc, &mlme_cfg->mbo_cfg);
|
mlme_init_mbo_cfg(psoc, &mlme_cfg->mbo_cfg);
|
||||||
mlme_init_qos_cfg(psoc, &mlme_cfg->qos_mlme_params);
|
mlme_init_qos_cfg(psoc, &mlme_cfg->qos_mlme_params);
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#include "cfg_mlme_mbo.h"
|
#include "cfg_mlme_mbo.h"
|
||||||
#include "cfg_mlme_vht_caps.h"
|
#include "cfg_mlme_vht_caps.h"
|
||||||
#include "cfg_qos.h"
|
#include "cfg_qos.h"
|
||||||
|
#include "cfg_mlme_timeout.h"
|
||||||
#include "cfg_mlme_rates.h"
|
#include "cfg_mlme_rates.h"
|
||||||
#include "wlan_mlme_product_details_cfg.h"
|
#include "wlan_mlme_product_details_cfg.h"
|
||||||
#include "cfg_mlme_sta.h"
|
#include "cfg_mlme_sta.h"
|
||||||
@@ -66,6 +67,7 @@
|
|||||||
CFG_SCORING_ALL \
|
CFG_SCORING_ALL \
|
||||||
CFG_STA_ALL \
|
CFG_STA_ALL \
|
||||||
CFG_THRESHOLD_ALL \
|
CFG_THRESHOLD_ALL \
|
||||||
|
CFG_TIMEOUT_ALL \
|
||||||
CFG_VHT_CAPS_ALL \
|
CFG_VHT_CAPS_ALL \
|
||||||
CFG_VHT_CAPS_ALL \
|
CFG_VHT_CAPS_ALL \
|
||||||
CFG_WEP_PARAMS_ALL
|
CFG_WEP_PARAMS_ALL
|
||||||
|
50
components/mlme/dispatcher/inc/cfg_mlme_timeout.h
Normal file
50
components/mlme/dispatcher/inc/cfg_mlme_timeout.h
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2011-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_TIMEOUT_H
|
||||||
|
#define __CFG_MLME_TIMEOUT_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* join_failure_timeout - Join failure timeout value
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 65535
|
||||||
|
* @Default: 3000
|
||||||
|
*
|
||||||
|
* This cfg is used to configure the join failure timeout.
|
||||||
|
*
|
||||||
|
* Usage: Internal
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_JOIN_FAILURE_TIMEOUT CFG_INI_UINT( \
|
||||||
|
"join_failure_timeout", \
|
||||||
|
0, \
|
||||||
|
65535, \
|
||||||
|
3000, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"Join failure timeout")
|
||||||
|
|
||||||
|
#define CFG_TIMEOUT_ALL \
|
||||||
|
CFG(CFG_JOIN_FAILURE_TIMEOUT)
|
||||||
|
|
||||||
|
#endif /* __CFG_MLME_TIMEOUT_H */
|
@@ -839,6 +839,14 @@ struct wlan_mlme_threshold {
|
|||||||
uint32_t frag_threshold;
|
uint32_t frag_threshold;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* struct wlan_mlme_timeout - mlme timeout related config items
|
||||||
|
* @join_failure_timeout: join failure timeout
|
||||||
|
*/
|
||||||
|
struct wlan_mlme_timeout {
|
||||||
|
uint32_t join_failure_timeout;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct wlan_mlme_oce - OCE related config items
|
* struct wlan_mlme_oce - OCE related config items
|
||||||
* @enable_bcast_probe_rsp: enable broadcast probe response
|
* @enable_bcast_probe_rsp: enable broadcast probe response
|
||||||
@@ -899,20 +907,25 @@ struct wlan_mlme_wep_cfg {
|
|||||||
/**
|
/**
|
||||||
* struct wlan_mlme_cfg - MLME config items
|
* struct wlan_mlme_cfg - MLME config items
|
||||||
* @chainmask_cfg: VHT chainmask related cfg items
|
* @chainmask_cfg: VHT chainmask related cfg items
|
||||||
* @ht_cfg: HT related CFG Items
|
* @edca_params: edca related CFG items
|
||||||
|
* @gen: Generic CFG items
|
||||||
|
* @ht_caps: HT related CFG Items
|
||||||
* @he_caps: HE related cfg items
|
* @he_caps: HE related cfg items
|
||||||
* @lfr: LFR related CFG Items
|
* @lfr: LFR related CFG Items
|
||||||
* @obss_ht40:obss ht40 CFG Items
|
* @obss_ht40:obss ht40 CFG Items
|
||||||
* @mbo_cfg: Multiband Operation related CFG items
|
* @mbo_cfg: Multiband Operation related CFG items
|
||||||
* @vht_caps: VHT related CFG Items
|
* @vht_caps: VHT related CFG Items
|
||||||
|
* @qos_mlme_params: QOS CFG Items
|
||||||
* @rates: Rates related cfg items
|
* @rates: Rates related cfg items
|
||||||
* @product_details: product details related CFG Items
|
* @product_details: product details related CFG Items
|
||||||
* @sap_protection_cfg: SAP erp protection related CFG items
|
* @sap_protection_cfg: SAP erp protection related CFG items
|
||||||
* @acs: ACS related CFG items
|
|
||||||
* @sap_cfg: sap CFG items
|
* @sap_cfg: sap CFG items
|
||||||
* @sta: sta CFG Items
|
* @sta: sta CFG Items
|
||||||
* @scoring: BSS Scoring related CFG Items
|
* @scoring: BSS Scoring related CFG Items
|
||||||
|
* @oce: OCE related CFG items
|
||||||
* @threshold: threshold related cfg items
|
* @threshold: threshold related cfg items
|
||||||
|
* @timeouts: mlme timeout related CFG items
|
||||||
|
* @acs: ACS related CFG items
|
||||||
* @feature_flags: Feature flag config items
|
* @feature_flags: Feature flag config items
|
||||||
* @wep_params: WEP related config items
|
* @wep_params: WEP related config items
|
||||||
*/
|
*/
|
||||||
@@ -935,6 +948,7 @@ struct wlan_mlme_cfg {
|
|||||||
struct wlan_mlme_scoring_cfg scoring;
|
struct wlan_mlme_scoring_cfg scoring;
|
||||||
struct wlan_mlme_oce oce;
|
struct wlan_mlme_oce oce;
|
||||||
struct wlan_mlme_threshold threshold;
|
struct wlan_mlme_threshold threshold;
|
||||||
|
struct wlan_mlme_timeout timeouts;
|
||||||
struct wlan_mlme_acs acs;
|
struct wlan_mlme_acs acs;
|
||||||
struct wlan_mlme_feature_flag feature_flags;
|
struct wlan_mlme_feature_flag feature_flags;
|
||||||
struct wlan_mlme_wep_cfg wep_params;
|
struct wlan_mlme_wep_cfg wep_params;
|
||||||
|
@@ -32,7 +32,6 @@ enum {
|
|||||||
WNI_CFG_DTIM_PERIOD,
|
WNI_CFG_DTIM_PERIOD,
|
||||||
WNI_CFG_ACTIVE_MAXIMUM_CHANNEL_TIME,
|
WNI_CFG_ACTIVE_MAXIMUM_CHANNEL_TIME,
|
||||||
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
|
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
|
||||||
WNI_CFG_JOIN_FAILURE_TIMEOUT,
|
|
||||||
WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT,
|
WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT,
|
||||||
WNI_CFG_AUTHENTICATE_RSP_TIMEOUT,
|
WNI_CFG_AUTHENTICATE_RSP_TIMEOUT,
|
||||||
WNI_CFG_ASSOCIATION_FAILURE_TIMEOUT,
|
WNI_CFG_ASSOCIATION_FAILURE_TIMEOUT,
|
||||||
@@ -325,10 +324,6 @@ enum {
|
|||||||
#define WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STAMAX 65535
|
#define WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STAMAX 65535
|
||||||
#define WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STADEF 110
|
#define WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STADEF 110
|
||||||
|
|
||||||
#define WNI_CFG_JOIN_FAILURE_TIMEOUT_STAMIN 0
|
|
||||||
#define WNI_CFG_JOIN_FAILURE_TIMEOUT_STAMAX 65535
|
|
||||||
#define WNI_CFG_JOIN_FAILURE_TIMEOUT_STADEF 3000
|
|
||||||
|
|
||||||
#define WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STAMIN 0
|
#define WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STAMIN 0
|
||||||
#define WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STAMAX 65535
|
#define WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STAMAX 65535
|
||||||
#define WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STADEF 1000
|
#define WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STADEF 1000
|
||||||
|
@@ -47,7 +47,6 @@ const char *cfg_get_string(uint16_t cfg_id)
|
|||||||
CASE_RETURN_STRING(WNI_CFG_DTIM_PERIOD);
|
CASE_RETURN_STRING(WNI_CFG_DTIM_PERIOD);
|
||||||
CASE_RETURN_STRING(WNI_CFG_ACTIVE_MAXIMUM_CHANNEL_TIME);
|
CASE_RETURN_STRING(WNI_CFG_ACTIVE_MAXIMUM_CHANNEL_TIME);
|
||||||
CASE_RETURN_STRING(WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME);
|
CASE_RETURN_STRING(WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME);
|
||||||
CASE_RETURN_STRING(WNI_CFG_JOIN_FAILURE_TIMEOUT);
|
|
||||||
CASE_RETURN_STRING(WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT);
|
CASE_RETURN_STRING(WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT);
|
||||||
CASE_RETURN_STRING(WNI_CFG_AUTHENTICATE_RSP_TIMEOUT);
|
CASE_RETURN_STRING(WNI_CFG_AUTHENTICATE_RSP_TIMEOUT);
|
||||||
CASE_RETURN_STRING(WNI_CFG_ASSOCIATION_FAILURE_TIMEOUT);
|
CASE_RETURN_STRING(WNI_CFG_ASSOCIATION_FAILURE_TIMEOUT);
|
||||||
|
@@ -63,11 +63,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
|
|||||||
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STAMIN,
|
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STAMIN,
|
||||||
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STAMAX,
|
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STAMAX,
|
||||||
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STADEF},
|
WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME_STADEF},
|
||||||
{WNI_CFG_JOIN_FAILURE_TIMEOUT,
|
|
||||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
|
||||||
WNI_CFG_JOIN_FAILURE_TIMEOUT_STAMIN,
|
|
||||||
WNI_CFG_JOIN_FAILURE_TIMEOUT_STAMAX,
|
|
||||||
WNI_CFG_JOIN_FAILURE_TIMEOUT_STADEF},
|
|
||||||
{WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT,
|
{WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT,
|
||||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||||
WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STAMIN,
|
WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STAMIN,
|
||||||
|
@@ -203,7 +203,6 @@ typedef struct sLimMlmAuthReq {
|
|||||||
} tLimMlmAuthReq, *tpLimMlmAuthReq;
|
} tLimMlmAuthReq, *tpLimMlmAuthReq;
|
||||||
|
|
||||||
typedef struct sLimMlmJoinReq {
|
typedef struct sLimMlmJoinReq {
|
||||||
uint32_t joinFailureTimeout;
|
|
||||||
tSirMacRateSet operationalRateSet;
|
tSirMacRateSet operationalRateSet;
|
||||||
uint8_t sessionId;
|
uint8_t sessionId;
|
||||||
tSirBssDescription bssDescription;
|
tSirBssDescription bssDescription;
|
||||||
|
@@ -1582,15 +1582,6 @@ __lim_process_sme_join_req(tpAniSirGlobal mac_ctx, uint32_t *msg_buf)
|
|||||||
/* PE SessionId is stored as a part of JoinReq */
|
/* PE SessionId is stored as a part of JoinReq */
|
||||||
mlm_join_req->sessionId = session->peSessionId;
|
mlm_join_req->sessionId = session->peSessionId;
|
||||||
|
|
||||||
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_JOIN_FAILURE_TIMEOUT,
|
|
||||||
(uint32_t *) &mlm_join_req->joinFailureTimeout) !=
|
|
||||||
QDF_STATUS_SUCCESS) {
|
|
||||||
pe_err("couldn't retrieve JoinFailureTimer value"
|
|
||||||
" setting to default value");
|
|
||||||
mlm_join_req->joinFailureTimeout =
|
|
||||||
WNI_CFG_JOIN_FAILURE_TIMEOUT_STADEF;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* copy operational rate from session */
|
/* copy operational rate from session */
|
||||||
qdf_mem_copy((void *)&session->rateSet,
|
qdf_mem_copy((void *)&session->rateSet,
|
||||||
(void *)&sme_join_req->operationalRateSet,
|
(void *)&sme_join_req->operationalRateSet,
|
||||||
|
@@ -30,6 +30,7 @@
|
|||||||
#include "lim_utils.h"
|
#include "lim_utils.h"
|
||||||
#include "lim_assoc_utils.h"
|
#include "lim_assoc_utils.h"
|
||||||
#include "lim_security_utils.h"
|
#include "lim_security_utils.h"
|
||||||
|
#include "wlan_mlme_public_struct.h"
|
||||||
#include <lim_api.h>
|
#include <lim_api.h>
|
||||||
|
|
||||||
/* channel Switch Timer in ticks */
|
/* channel Switch Timer in ticks */
|
||||||
@@ -92,10 +93,8 @@ static bool lim_create_non_ap_timers(tpAniSirGlobal pMac)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wlan_cfg_get_int(pMac, WNI_CFG_JOIN_FAILURE_TIMEOUT,
|
cfgValue = SYS_MS_TO_TICKS(
|
||||||
&cfgValue) != QDF_STATUS_SUCCESS)
|
pMac->mlme_cfg->timeouts.join_failure_timeout);
|
||||||
pe_err("could not retrieve JoinFailureTimeout value");
|
|
||||||
cfgValue = SYS_MS_TO_TICKS(cfgValue);
|
|
||||||
/* Create Join failure timer and activate it later */
|
/* Create Join failure timer and activate it later */
|
||||||
if (tx_timer_create(pMac, &pMac->lim.limTimers.gLimJoinFailureTimer,
|
if (tx_timer_create(pMac, &pMac->lim.limTimers.gLimJoinFailureTimer,
|
||||||
"JOIN FAILURE TIMEOUT",
|
"JOIN FAILURE TIMEOUT",
|
||||||
@@ -596,15 +595,8 @@ void lim_deactivate_and_change_timer(tpAniSirGlobal pMac, uint32_t timerId)
|
|||||||
pe_err("Unable to deactivate Join Failure timer");
|
pe_err("Unable to deactivate Join Failure timer");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wlan_cfg_get_int(pMac, WNI_CFG_JOIN_FAILURE_TIMEOUT,
|
val = SYS_MS_TO_TICKS(
|
||||||
&val) != QDF_STATUS_SUCCESS) {
|
pMac->mlme_cfg->timeouts.join_failure_timeout);
|
||||||
/**
|
|
||||||
* Could not get JoinFailureTimeout value
|
|
||||||
* from CFG. Log error.
|
|
||||||
*/
|
|
||||||
pe_err("could not retrieve JoinFailureTimeout value");
|
|
||||||
}
|
|
||||||
val = SYS_MS_TO_TICKS(val);
|
|
||||||
|
|
||||||
if (tx_timer_change(&pMac->lim.limTimers.gLimJoinFailureTimer,
|
if (tx_timer_change(&pMac->lim.limTimers.gLimJoinFailureTimer,
|
||||||
val, 0) != TX_SUCCESS) {
|
val, 0) != TX_SUCCESS) {
|
||||||
|
@@ -39,6 +39,7 @@
|
|||||||
#include "cds_utils.h"
|
#include "cds_utils.h"
|
||||||
#include "sir_types.h"
|
#include "sir_types.h"
|
||||||
#include "cfg_api.h"
|
#include "cfg_api.h"
|
||||||
|
#include "cfg_ucfg_api.h"
|
||||||
#include "sme_power_save_api.h"
|
#include "sme_power_save_api.h"
|
||||||
#include "wma.h"
|
#include "wma.h"
|
||||||
#include "wlan_policy_mgr_api.h"
|
#include "wlan_policy_mgr_api.h"
|
||||||
@@ -405,7 +406,7 @@ static ePhyChanBondState csr_get_cb_mode_from_ies(tpAniSirGlobal pMac,
|
|||||||
tDot11fBeaconIEs *pIes);
|
tDot11fBeaconIEs *pIes);
|
||||||
|
|
||||||
static void csr_roaming_state_config_cnf_processor(tpAniSirGlobal pMac,
|
static void csr_roaming_state_config_cnf_processor(tpAniSirGlobal pMac,
|
||||||
tSmeCmd *pCommand, uint32_t result, uint8_t session_id);
|
tSmeCmd *pCommand, uint8_t session_id);
|
||||||
static QDF_STATUS csr_roam_open(tpAniSirGlobal pMac);
|
static QDF_STATUS csr_roam_open(tpAniSirGlobal pMac);
|
||||||
static QDF_STATUS csr_roam_close(tpAniSirGlobal pMac);
|
static QDF_STATUS csr_roam_close(tpAniSirGlobal pMac);
|
||||||
static bool csr_roam_is_same_profile_keys(tpAniSirGlobal pMac,
|
static bool csr_roam_is_same_profile_keys(tpAniSirGlobal pMac,
|
||||||
@@ -4533,6 +4534,7 @@ QDF_STATUS csr_roam_prepare_bss_config(tpAniSirGlobal pMac,
|
|||||||
tDot11fBeaconIEs *pIes)
|
tDot11fBeaconIEs *pIes)
|
||||||
{
|
{
|
||||||
enum csr_cfgdot11mode cfgDot11Mode;
|
enum csr_cfgdot11mode cfgDot11Mode;
|
||||||
|
uint32_t join_timeout;
|
||||||
|
|
||||||
QDF_ASSERT(pIes != NULL);
|
QDF_ASSERT(pIes != NULL);
|
||||||
if (pIes == NULL)
|
if (pIes == NULL)
|
||||||
@@ -4643,18 +4645,15 @@ QDF_STATUS csr_roam_prepare_bss_config(tpAniSirGlobal pMac,
|
|||||||
* Join timeout: if we find a BeaconInterval in the BssDescription,
|
* Join timeout: if we find a BeaconInterval in the BssDescription,
|
||||||
* then set the Join Timeout to be 10 x the BeaconInterval.
|
* then set the Join Timeout to be 10 x the BeaconInterval.
|
||||||
*/
|
*/
|
||||||
|
pBssConfig->uJoinTimeOut = cfg_default(CFG_JOIN_FAILURE_TIMEOUT);
|
||||||
if (pBssDesc->beaconInterval) {
|
if (pBssDesc->beaconInterval) {
|
||||||
/* Make sure it is bigger than the minimal */
|
/* Make sure it is bigger than the minimal */
|
||||||
pBssConfig->uJoinTimeOut =
|
join_timeout = QDF_MAX(10 * pBssDesc->beaconInterval,
|
||||||
QDF_MAX(10 * pBssDesc->beaconInterval,
|
cfg_min(CFG_JOIN_FAILURE_TIMEOUT));
|
||||||
CSR_JOIN_FAILURE_TIMEOUT_MIN);
|
if (join_timeout < pBssConfig->uJoinTimeOut)
|
||||||
if (pBssConfig->uJoinTimeOut > CSR_JOIN_FAILURE_TIMEOUT_DEFAULT)
|
pBssConfig->uJoinTimeOut = join_timeout;
|
||||||
pBssConfig->uJoinTimeOut =
|
|
||||||
CSR_JOIN_FAILURE_TIMEOUT_DEFAULT;
|
|
||||||
} else {
|
|
||||||
pBssConfig->uJoinTimeOut =
|
|
||||||
CSR_JOIN_FAILURE_TIMEOUT_DEFAULT;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* validate CB */
|
/* validate CB */
|
||||||
if ((pBssConfig->uCfgDot11Mode == eCSR_CFG_DOT11_MODE_11N) ||
|
if ((pBssConfig->uCfgDot11Mode == eCSR_CFG_DOT11_MODE_11N) ||
|
||||||
(pBssConfig->uCfgDot11Mode == eCSR_CFG_DOT11_MODE_11N_ONLY) ||
|
(pBssConfig->uCfgDot11Mode == eCSR_CFG_DOT11_MODE_11N_ONLY) ||
|
||||||
@@ -4778,7 +4777,7 @@ QDF_STATUS csr_roam_prepare_bss_config_from_profile(
|
|||||||
pMac->roam.configParam.HeartbeatThresh24;
|
pMac->roam.configParam.HeartbeatThresh24;
|
||||||
}
|
}
|
||||||
/* Join timeout */
|
/* Join timeout */
|
||||||
pBssConfig->uJoinTimeOut = CSR_JOIN_FAILURE_TIMEOUT_DEFAULT;
|
pBssConfig->uJoinTimeOut = cfg_default(CFG_JOIN_FAILURE_TIMEOUT);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -5295,8 +5294,8 @@ static void csr_set_cfg_rate_set_from_profile(tpAniSirGlobal pMac,
|
|||||||
ExtendedOperationalRatesLength);
|
ExtendedOperationalRatesLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
void csr_roam_ccm_cfg_set_callback(tpAniSirGlobal pMac, int32_t result,
|
static void csr_roam_ccm_cfg_set_callback(tpAniSirGlobal pMac,
|
||||||
uint8_t session_id)
|
uint8_t session_id)
|
||||||
{
|
{
|
||||||
tListElem *pEntry =
|
tListElem *pEntry =
|
||||||
csr_nonscan_active_ll_peek_head(pMac, LL_ACCESS_LOCK);
|
csr_nonscan_active_ll_peek_head(pMac, LL_ACCESS_LOCK);
|
||||||
@@ -5322,7 +5321,7 @@ void csr_roam_ccm_cfg_set_callback(tpAniSirGlobal pMac, int32_t result,
|
|||||||
if (CSR_IS_ROAM_JOINING(pMac, sessionId)
|
if (CSR_IS_ROAM_JOINING(pMac, sessionId)
|
||||||
&& CSR_IS_ROAM_SUBSTATE_CONFIG(pMac, sessionId)) {
|
&& CSR_IS_ROAM_SUBSTATE_CONFIG(pMac, sessionId)) {
|
||||||
csr_roaming_state_config_cnf_processor(pMac, pCommand,
|
csr_roaming_state_config_cnf_processor(pMac, pCommand,
|
||||||
(uint32_t) result, session_id);
|
session_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5334,7 +5333,6 @@ QDF_STATUS csr_roam_set_bss_config_cfg(tpAniSirGlobal pMac, uint32_t sessionId,
|
|||||||
struct sDot11fBeaconIEs *pIes,
|
struct sDot11fBeaconIEs *pIes,
|
||||||
bool resetCountry)
|
bool resetCountry)
|
||||||
{
|
{
|
||||||
QDF_STATUS status;
|
|
||||||
uint32_t cfgCb = WNI_CFG_CHANNEL_BONDING_MODE_DISABLE;
|
uint32_t cfgCb = WNI_CFG_CHANNEL_BONDING_MODE_DISABLE;
|
||||||
uint8_t channel = 0;
|
uint8_t channel = 0;
|
||||||
struct csr_roam_session *pSession = CSR_GET_SESSION(pMac, sessionId);
|
struct csr_roam_session *pSession = CSR_GET_SESSION(pMac, sessionId);
|
||||||
@@ -5397,8 +5395,9 @@ QDF_STATUS csr_roam_set_bss_config_cfg(tpAniSirGlobal pMac, uint32_t sessionId,
|
|||||||
pProfile, pBssDesc, pIes);
|
pProfile, pBssDesc, pIes);
|
||||||
else
|
else
|
||||||
csr_set_cfg_rate_set_from_profile(pMac, pProfile);
|
csr_set_cfg_rate_set_from_profile(pMac, pProfile);
|
||||||
status = cfg_set_int(pMac, WNI_CFG_JOIN_FAILURE_TIMEOUT,
|
|
||||||
pBssConfig->uJoinTimeOut);
|
pMac->mlme_cfg->timeouts.join_failure_timeout =
|
||||||
|
pBssConfig->uJoinTimeOut;
|
||||||
/* Any roaming related changes should be above this line */
|
/* Any roaming related changes should be above this line */
|
||||||
if (pSession && pSession->roam_synch_in_progress) {
|
if (pSession && pSession->roam_synch_in_progress) {
|
||||||
sme_debug("Roam synch is in progress Session_id: %d",
|
sme_debug("Roam synch is in progress Session_id: %d",
|
||||||
@@ -5410,7 +5409,8 @@ QDF_STATUS csr_roam_set_bss_config_cfg(tpAniSirGlobal pMac, uint32_t sessionId,
|
|||||||
*/
|
*/
|
||||||
csr_roam_substate_change(pMac, eCSR_ROAM_SUBSTATE_CONFIG, sessionId);
|
csr_roam_substate_change(pMac, eCSR_ROAM_SUBSTATE_CONFIG, sessionId);
|
||||||
|
|
||||||
csr_roam_ccm_cfg_set_callback(pMac, status, sessionId);
|
csr_roam_ccm_cfg_set_callback(pMac, sessionId);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9670,7 +9670,8 @@ bool csr_is_roam_command_waiting_for_session(tpAniSirGlobal pMac,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
csr_roaming_state_config_cnf_processor(tpAniSirGlobal mac_ctx,
|
csr_roaming_state_config_cnf_processor(tpAniSirGlobal mac_ctx,
|
||||||
tSmeCmd *cmd, uint32_t result, uint8_t sme_session_id)
|
tSmeCmd *cmd,
|
||||||
|
uint8_t sme_session_id)
|
||||||
{
|
{
|
||||||
struct tag_csrscan_result *scan_result = NULL;
|
struct tag_csrscan_result *scan_result = NULL;
|
||||||
tSirBssDescription *bss_desc = NULL;
|
tSirBssDescription *bss_desc = NULL;
|
||||||
@@ -9700,28 +9701,6 @@ csr_roaming_state_config_cnf_processor(tpAniSirGlobal mac_ctx,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!QDF_IS_STATUS_SUCCESS(result)) {
|
|
||||||
/*
|
|
||||||
* In the event the configuration failed, for infra let the roam
|
|
||||||
* processor attempt to join something else...
|
|
||||||
*/
|
|
||||||
if (cmd->u.roamCmd.pRoamBssEntry
|
|
||||||
&& CSR_IS_INFRASTRUCTURE(&cmd->u.roamCmd.roamProfile)) {
|
|
||||||
csr_roam(mac_ctx, cmd);
|
|
||||||
} else {
|
|
||||||
/* We need to complete the command */
|
|
||||||
if (csr_is_bss_type_ibss
|
|
||||||
(cmd->u.roamCmd.roamProfile.BSSType)) {
|
|
||||||
csr_roam_complete(mac_ctx, eCsrStartBssFailure,
|
|
||||||
NULL, sme_session_id);
|
|
||||||
} else {
|
|
||||||
csr_roam_complete(mac_ctx, eCsrNothingToJoin,
|
|
||||||
NULL, sme_session_id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* we have active entry */
|
/* we have active entry */
|
||||||
sme_debug("Cfg sequence complete");
|
sme_debug("Cfg sequence complete");
|
||||||
/*
|
/*
|
||||||
|
@@ -375,9 +375,6 @@ bool csr_roam_is_channel_valid(tpAniSirGlobal pMac, uint8_t channel);
|
|||||||
/* pNumChan is a caller allocated space with the sizeof pChannels */
|
/* pNumChan is a caller allocated space with the sizeof pChannels */
|
||||||
QDF_STATUS csr_get_cfg_valid_channels(tpAniSirGlobal pMac, uint8_t *pChannels,
|
QDF_STATUS csr_get_cfg_valid_channels(tpAniSirGlobal pMac, uint8_t *pChannels,
|
||||||
uint32_t *pNumChan);
|
uint32_t *pNumChan);
|
||||||
void csr_roam_ccm_cfg_set_callback(tpAniSirGlobal pMac, int32_t result,
|
|
||||||
uint8_t session_id);
|
|
||||||
|
|
||||||
int8_t csr_get_cfg_max_tx_power(tpAniSirGlobal pMac, uint8_t channel);
|
int8_t csr_get_cfg_max_tx_power(tpAniSirGlobal pMac, uint8_t channel);
|
||||||
|
|
||||||
/* To free the last roaming profile */
|
/* To free the last roaming profile */
|
||||||
|
Reference in New Issue
Block a user