From 809c41a5f6d0eb739fa5a91f0c5273b240a76c35 Mon Sep 17 00:00:00 2001 From: Abhishek Singh Date: Fri, 10 Aug 2018 14:13:08 +0530 Subject: [PATCH] qcacld-3.0: Reset wait for key before sending close session If wait for key is set during close session, the request is dropped in CSR and thus during SSR the BSS peer and SELF peer are not deleted resulting in peer leakage. Fix this by resetting wait for key before sending close session. Change-Id: I139640ad5ad473372bce24413f7ace1cef32fbc3 CRs-Fixed: 2294417 --- core/sme/src/csr/csr_api_roam.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 5552daf0adff..4d5db617aa94 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -17630,6 +17630,13 @@ QDF_STATUS csr_roam_close_session(tpAniSirGlobal mac_ctx, return status; } + if (CSR_IS_WAIT_FOR_KEY(mac_ctx, session_id)) { + sme_debug("Stop Wait for key timer and change substate to eCSR_ROAM_SUBSTATE_NONE"); + csr_roam_stop_wait_for_key_timer(mac_ctx); + csr_roam_substate_change(mac_ctx, eCSR_ROAM_SUBSTATE_NONE, + session_id); + } + purge_sme_session_pending_cmd_list(mac_ctx, session_id); purge_sme_session_active_cmd_list(mac_ctx, session_id); purge_sme_session_pending_scan_cmd_list(mac_ctx, session_id);