Browse Source

qcacld-3.0: Stop assoc failure timer before starting pmf timeout

Currently if AP sends pmf timeout as part of assoc response,
host starts pmf timer without stopping the assoc failure
timer and retries assoc after the pmf timer expirs, as a
result early assoc failure timeout is observed for the
second assoc request resulting in assoc failure.

To address this issue, stop assoc failure timer before
starting the pmf timeout timer.

Change-Id: I04358e4d0fbe54552f4b387789a256f45dc7e20f
CRs-Fixed: 3602605
Asutosh Mohapatra 1 year ago
parent
commit
329d430e9d
1 changed files with 6 additions and 6 deletions
  1. 6 6
      core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

+ 6 - 6
core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

@@ -1348,6 +1348,12 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx, uint8_t *rx_pkt_info,
 		lim_add_bssid_to_reject_list(mac_ctx->pdev, &ap_info);
 	}
 
+	/* Stop Association failure timer */
+	if (subtype == LIM_ASSOC)
+		lim_deactivate_and_change_timer(mac_ctx, eLIM_ASSOC_FAIL_TIMER);
+	else
+		lim_stop_reassoc_retry_timer(mac_ctx);
+
 	status = lim_handle_pmfcomeback_timer(session_entry, assoc_rsp);
 	/* return if retry again timer is started and ignore this assoc resp */
 	if (QDF_IS_STATUS_SUCCESS(status)) {
@@ -1357,12 +1363,6 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx, uint8_t *rx_pkt_info,
 		return;
 	}
 
-	/* Stop Association failure timer */
-	if (subtype == LIM_ASSOC)
-		lim_deactivate_and_change_timer(mac_ctx, eLIM_ASSOC_FAIL_TIMER);
-	else
-		lim_stop_reassoc_retry_timer(mac_ctx);
-
 	if (assoc_rsp->status_code != STATUS_SUCCESS) {
 		/*
 		 *Re/Association response was received