Browse Source

qcacld-3.0: Handle peer leak during SSR incase of SAE

Currently, there is a peer leak when SSR is triggered during SAE
authentication.

To avoid this,don't purge serialization commands from hdd_wlan_shutdown.

Change-Id: I05a646f2af9d31bda27bb74b8f58390d3bf09623
CRs-Fixed: 2678294
Bapiraju Alla 5 years ago
parent
commit
03aa3d8d58
2 changed files with 6 additions and 5 deletions
  1. 0 5
      core/hdd/src/wlan_hdd_power.c
  2. 6 0
      core/mac/src/pe/lim/lim_utils.c

+ 0 - 5
core/hdd/src/wlan_hdd_power.c

@@ -1354,11 +1354,6 @@ QDF_STATUS hdd_wlan_shutdown(void)
 	 * increment their counts from 0.
 	 */
 	hdd_reset_all_adapters_connectivity_stats(hdd_ctx);
-	/*
-	 * Purge all active and pending list to avoid vdev destroy timeout and
-	 * thus avoid peer/vdev refcount leak.
-	 */
-	sme_purge_pdev_all_ser_cmd_list(hdd_ctx->mac_handle);
 
 	hdd_reset_all_adapters(hdd_ctx);
 

+ 6 - 0
core/mac/src/pe/lim/lim_utils.c

@@ -538,6 +538,12 @@ void lim_deactivate_timers(struct mac_context *mac_ctx)
 	}
 	tx_timer_deactivate(&lim_timer->gLimDeauthAckTimer);
 
+	if (tx_timer_running(&lim_timer->sae_auth_timer)) {
+		pe_err("SAE Auth failure timer running call the timeout API");
+		/* Cleanup as if SAE auth timer expired */
+		lim_timer_handler(mac_ctx, SIR_LIM_AUTH_SAE_TIMEOUT);
+	}
+
 	tx_timer_deactivate(&lim_timer->sae_auth_timer);
 }