Parcourir la source

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
Abhishek Singh il y a 6 ans
Parent
commit
809c41a5f6
1 fichiers modifiés avec 7 ajouts et 0 suppressions
  1. 7 0
      core/sme/src/csr/csr_api_roam.c

+ 7 - 0
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);