diff options
| author | yeshwanth sriram guntuka <ysriramg@codeaurora.org> | 2017-08-17 19:51:13 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-08-21 01:09:50 -0700 |
| commit | 002b6ddabac3340a05bc44256d0835e7f76bf6d9 (patch) | |
| tree | a2047aa629f75b09b2c59150c0d93a5e89cd7f87 | |
| parent | c7cb3fc79aec74f9f9c295b8033df695bb7147c2 (diff) | |
qcacld-3.0: Deactivate timers before loop in pe_shutdown_notifier_cb
In pe_shutdown_notifier_cb, lim timers are deactivated
inside the loop. Fix is to invoke lim_deactivate_timers
before the for loop. Move open system auth api to
lim_process_auth_frame.c
Change-Id: I0f3cc58b5e73d73ae1a2a28ea0ce042e6c926207
CRs-Fixed: 2094532
| -rw-r--r-- | core/mac/src/pe/lim/lim_api.c | 2 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_process_auth_frame.c | 38 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_utils.c | 37 |
3 files changed, 39 insertions, 38 deletions
diff --git a/core/mac/src/pe/lim/lim_api.c b/core/mac/src/pe/lim/lim_api.c index 7f3497f008ea..60aa6ce834c5 100644 --- a/core/mac/src/pe/lim/lim_api.c +++ b/core/mac/src/pe/lim/lim_api.c @@ -730,6 +730,7 @@ static void pe_shutdown_notifier_cb(void *ctx) tpPESession session; uint8_t i; + lim_deactivate_timers(mac_ctx); for (i = 0; i < mac_ctx->lim.maxBssId; i++) { session = &mac_ctx->lim.gpSession[i]; if (session->valid == true) { @@ -739,7 +740,6 @@ static void pe_shutdown_notifier_cb(void *ctx) #ifdef WLAN_FEATURE_11W qdf_mc_timer_stop(&session->pmfComebackTimer); #endif - lim_deactivate_timers(mac_ctx); } } } diff --git a/core/mac/src/pe/lim/lim_process_auth_frame.c b/core/mac/src/pe/lim/lim_process_auth_frame.c index c119c9590d6e..c87590e9e3e2 100644 --- a/core/mac/src/pe/lim/lim_process_auth_frame.c +++ b/core/mac/src/pe/lim/lim_process_auth_frame.c @@ -51,6 +51,7 @@ #include "lim_ft.h" #include "cds_utils.h" #include "lim_process_fils.h" +#include "lim_send_messages.h" /** * is_auth_valid @@ -1015,6 +1016,43 @@ static void lim_process_auth_frame_type4(tpAniSirGlobal mac_ctx, } } +void lim_send_open_system_auth(void *ctx, uint32_t param) +{ + tLimMlmAuthReq *auth_req; + tpPESession session_entry; + tpAniSirGlobal mac_ctx = (tpAniSirGlobal)ctx; + uint8_t session_id; + + session_id = mac_ctx->lim.limTimers.open_sys_auth_timer.sessionId; + session_entry = pe_find_session_by_session_id(mac_ctx, session_id); + + if (!session_entry) + return; + /* Trigger MAC based Authentication */ + auth_req = qdf_mem_malloc(sizeof(tLimMlmAuthReq)); + if (!auth_req) { + pe_err("mlmAuthReq :Memory alloc failed"); + lim_handle_sme_join_result(mac_ctx, + eSIR_SME_AUTH_TIMEOUT_RESULT_CODE, + eSIR_MAC_AUTH_ALGO_NOT_SUPPORTED_STATUS, + session_entry); + tx_timer_deactivate(&mac_ctx->lim.limTimers. + open_sys_auth_timer); + return; + } + sir_copy_mac_addr(auth_req->peerMacAddr, session_entry->bssId); + auth_req->authType = eSIR_OPEN_SYSTEM; + /* Update PE session Id */ + auth_req->sessionId = session_id; + if (wlan_cfg_get_int(mac_ctx, WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT, + (uint32_t *) &auth_req->authFailureTimeout) != eSIR_SUCCESS) { + pe_err("Fail:retrieve AuthFailureTimeout"); + } + lim_post_mlm_message(mac_ctx, LIM_MLM_AUTH_REQ, (uint32_t *) auth_req); + tx_timer_deactivate(&mac_ctx->lim.limTimers.open_sys_auth_timer); + +} + /** * lim_process_auth_frame() - to process auth frame * @mac_ctx - Pointer to Global MAC structure diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 74704647ab39..ebd394792280 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -511,43 +511,6 @@ void lim_print_msg_name(tpAniSirGlobal pMac, uint16_t logLevel, uint32_t msgType pe_debug("Msg: %s", lim_msg_str(msgType)); } -void lim_send_open_system_auth(void *ctx, uint32_t param) -{ - tLimMlmAuthReq *auth_req; - tpPESession session_entry; - tpAniSirGlobal mac_ctx = (tpAniSirGlobal)ctx; - uint8_t session_id; - - session_id = mac_ctx->lim.limTimers.open_sys_auth_timer.sessionId; - session_entry = pe_find_session_by_session_id(mac_ctx, session_id); - - if (!session_entry) - return; - /* Trigger MAC based Authentication */ - auth_req = qdf_mem_malloc(sizeof(tLimMlmAuthReq)); - if (!auth_req) { - pe_err("mlmAuthReq :Memory alloc failed"); - lim_handle_sme_join_result(mac_ctx, - eSIR_SME_AUTH_TIMEOUT_RESULT_CODE, - eSIR_MAC_AUTH_ALGO_NOT_SUPPORTED_STATUS, - session_entry); - tx_timer_deactivate(&mac_ctx->lim.limTimers. - open_sys_auth_timer); - return; - } - sir_copy_mac_addr(auth_req->peerMacAddr, session_entry->bssId); - auth_req->authType = eSIR_OPEN_SYSTEM; - /* Update PE session Id */ - auth_req->sessionId = session_id; - if (wlan_cfg_get_int(mac_ctx, WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT, - (uint32_t *) &auth_req->authFailureTimeout) != eSIR_SUCCESS) { - pe_err("Fail:retrieve AuthFailureTimeout"); - } - lim_post_mlm_message(mac_ctx, LIM_MLM_AUTH_REQ, (uint32_t *) auth_req); - tx_timer_deactivate(&mac_ctx->lim.limTimers.open_sys_auth_timer); - -} - /** * lim_init_mlm() - This function is called by limProcessSmeMessages() to * initialize MLM state machine on STA |
