qcacld-3.0: Reset auth_failure_timeout in pe_delete_session
auth_failure_timeout is updated as part of lim_check_and_announce_join_success for p2p client with NOA. And the default value is stored in pe_session->defaultAuthFailureTimeout After receiving the auth resp or in case of auth failure the auth_failure_timeout is reset to default value. But there is any other failure and pe session is deleted then the auth_failure_timeout is not reset. And p2p cli connection will use the wrong auth timeout. And can result in connection delay's if GO doesn't send the auth response. Reset the auth_failure_timeout to defalut as part of pe_delete_session. And decrease the max value to 5000ms. Change-Id: I374bf45279f086127ef062b83a06049c895c4675 CRs-Fixed: 2343832
这个提交包含在:
@@ -59,8 +59,8 @@
|
|||||||
*/
|
*/
|
||||||
#define CFG_AUTH_FAILURE_TIMEOUT CFG_INI_UINT( \
|
#define CFG_AUTH_FAILURE_TIMEOUT CFG_INI_UINT( \
|
||||||
"auth_failure_timeout", \
|
"auth_failure_timeout", \
|
||||||
0, \
|
500, \
|
||||||
65535, \
|
5000, \
|
||||||
1000, \
|
1000, \
|
||||||
CFG_VALUE_OR_DEFAULT, \
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
"auth failure timeout")
|
"auth failure timeout")
|
||||||
|
@@ -1223,6 +1223,7 @@ static void lim_process_mlm_auth_req(tpAniSirGlobal mac_ctx, uint32_t *msg)
|
|||||||
/* Activate Auth failure timer */
|
/* Activate Auth failure timer */
|
||||||
MTRACE(mac_trace(mac_ctx, TRACE_CODE_TIMER_ACTIVATE,
|
MTRACE(mac_trace(mac_ctx, TRACE_CODE_TIMER_ACTIVATE,
|
||||||
session->peSessionId, eLIM_AUTH_FAIL_TIMER));
|
session->peSessionId, eLIM_AUTH_FAIL_TIMER));
|
||||||
|
lim_deactivate_and_change_timer(mac_ctx, eLIM_AUTH_FAIL_TIMER);
|
||||||
if (tx_timer_activate(&mac_ctx->lim.limTimers.gLimAuthFailureTimer)
|
if (tx_timer_activate(&mac_ctx->lim.limTimers.gLimAuthFailureTimer)
|
||||||
!= TX_SUCCESS) {
|
!= TX_SUCCESS) {
|
||||||
pe_err("could not start Auth failure timer");
|
pe_err("could not start Auth failure timer");
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
#include "sch_api.h"
|
#include "sch_api.h"
|
||||||
#include "lim_send_messages.h"
|
#include "lim_send_messages.h"
|
||||||
|
#include "cfg_ucfg_api.h"
|
||||||
|
|
||||||
#ifdef WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY
|
#ifdef WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY
|
||||||
static struct sDphHashNode *g_dph_node_array;
|
static struct sDphHashNode *g_dph_node_array;
|
||||||
@@ -881,6 +882,18 @@ void pe_delete_session(tpAniSirGlobal mac_ctx, tpPESession session)
|
|||||||
|
|
||||||
lim_reset_bcn_probe_filter(mac_ctx, session);
|
lim_reset_bcn_probe_filter(mac_ctx, session);
|
||||||
|
|
||||||
|
/* Restore default failure timeout */
|
||||||
|
if (session->defaultAuthFailureTimeout) {
|
||||||
|
pe_debug("Restore default failure timeout");
|
||||||
|
if (cfg_in_range(CFG_AUTH_FAILURE_TIMEOUT,
|
||||||
|
session->defaultAuthFailureTimeout))
|
||||||
|
mac_ctx->mlme_cfg->timeouts.auth_failure_timeout =
|
||||||
|
session->defaultAuthFailureTimeout;
|
||||||
|
else
|
||||||
|
mac_ctx->mlme_cfg->timeouts.auth_failure_timeout =
|
||||||
|
cfg_default(CFG_AUTH_FAILURE_TIMEOUT);
|
||||||
|
}
|
||||||
|
|
||||||
for (n = 0; n < (mac_ctx->lim.maxStation + 1); n++) {
|
for (n = 0; n < (mac_ctx->lim.maxStation + 1); n++) {
|
||||||
timer_ptr = &mac_ctx->lim.limTimers.gpLimCnfWaitTimer[n];
|
timer_ptr = &mac_ctx->lim.limTimers.gpLimCnfWaitTimer[n];
|
||||||
if (session->peSessionId == timer_ptr->sessionId)
|
if (session->peSessionId == timer_ptr->sessionId)
|
||||||
|
在新工单中引用
屏蔽一个用户