summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c5
-rw-r--r--core/mac/src/pe/lim/lim_process_sme_req_messages.c14
-rw-r--r--core/mac/src/pe/lim/lim_send_messages.h2
3 files changed, 15 insertions, 6 deletions
diff --git a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c
index ba383a8bbf49..c462cccbec3d 100644
--- a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c
+++ b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c
@@ -53,8 +53,6 @@
#define MAX_SUPPORTED_PEERS_WEP 16
-static void lim_handle_sme_join_result(tpAniSirGlobal, tSirResultCodes, uint16_t,
- tpPESession);
void lim_process_mlm_join_cnf(tpAniSirGlobal, uint32_t *);
void lim_process_mlm_auth_cnf(tpAniSirGlobal, uint32_t *);
void lim_process_mlm_start_cnf(tpAniSirGlobal, uint32_t *);
@@ -1341,8 +1339,7 @@ void lim_process_mlm_set_keys_cnf(tpAniSirGlobal pMac, uint32_t *pMsgBuf)
*
* Return: None
*/
-static void
-lim_handle_sme_join_result(tpAniSirGlobal mac_ctx,
+void lim_handle_sme_join_result(tpAniSirGlobal mac_ctx,
tSirResultCodes result_code, uint16_t prot_status_code,
tpPESession session_entry)
{
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index 1d545e553421..2343bdd28cb9 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -2101,11 +2101,21 @@ static void __lim_process_sme_reassoc_req(tpAniSirGlobal mac_ctx,
reassoc_req->bssDescription.bssId,
&session_id);
if (session_entry == NULL) {
- lim_print_mac_addr(mac_ctx, reassoc_req->bssDescription.bssId,
- LOGE);
lim_log(mac_ctx, LOGE,
FL("Session does not exist for given bssId"));
+ lim_print_mac_addr(mac_ctx, reassoc_req->bssDescription.bssId,
+ LOGE);
ret_code = eSIR_SME_INVALID_PARAMETERS;
+ lim_get_session_info(mac_ctx, (uint8_t *)msg_buf,
+ &sme_session_id, &transaction_id);
+ session_entry =
+ pe_find_session_by_sme_session_id(mac_ctx,
+ sme_session_id);
+ if (session_entry != NULL)
+ lim_handle_sme_join_result(mac_ctx,
+ eSIR_SME_INVALID_PARAMETERS,
+ eSIR_MAC_UNSPEC_FAILURE_STATUS,
+ session_entry);
goto end;
}
#ifdef FEATURE_WLAN_DIAG_SUPPORT /* FEATURE_WLAN_DIAG_SUPPORT */
diff --git a/core/mac/src/pe/lim/lim_send_messages.h b/core/mac/src/pe/lim/lim_send_messages.h
index 187c1aeaddf1..c5c00d0e642f 100644
--- a/core/mac/src/pe/lim/lim_send_messages.h
+++ b/core/mac/src/pe/lim/lim_send_messages.h
@@ -106,4 +106,6 @@ tSirRetStatus lim_send_exclude_unencrypt_ind(tpAniSirGlobal pMac,
#endif
tSirRetStatus lim_send_ht40_obss_scanind(tpAniSirGlobal mac_ctx,
tpPESession session);
+void lim_handle_sme_join_result(tpAniSirGlobal,
+ tSirResultCodes, uint16_t, tpPESession);
#endif