Browse 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 7 năm trước cách đây
mục cha
commit
809c41a5f6
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  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);