瀏覽代碼

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 年之前
父節點
當前提交
809c41a5f6
共有 1 個文件被更改,包括 7 次插入0 次删除
  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);