Explorar el Código

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 hace 6 años
padre
commit
809c41a5f6
Se han modificado 1 ficheros con 7 adiciones y 0 borrados
  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);