Преглед на файлове

qcacld-3.0: Fix SAP force scc failed after STA channel switch

After STA channel switch, when SAP try to force scc with STA,
race condition issue happens sometimes between mc thread and sap
restart thread, hdd_ctx->roaming_in_progress isn't cleared when
check roaming status in hdd_softap_set_channel_change, so channel
switch failed.

Fix: change order, make sure hdd_set_roaming_in_progress(false)
happens before policy_mgr_check_concurrent_intf_and_restart_sap.

Change-Id: I1146eb665941fe0beb8f6165272f32ac8f7e74f2
CRs-Fixed: 2549571
Jianmin Zhu преди 5 години
родител
ревизия
36626e4fad
променени са 1 файла, в които са добавени 3 реда и са изтрити 3 реда
  1. 3 3
      core/sme/src/csr/csr_api_roam.c

+ 3 - 3
core/sme/src/csr/csr_api_roam.c

@@ -21562,14 +21562,14 @@ static QDF_STATUS csr_process_roam_sync_callback(struct mac_context *mac_ctx,
 		}
 
 		policy_mgr_check_n_start_opportunistic_timer(mac_ctx->psoc);
+		csr_roam_call_callback(mac_ctx, session_id, NULL, 0,
+				       eCSR_ROAM_SYNCH_COMPLETE,
+				       eCSR_ROAM_RESULT_SUCCESS);
 		policy_mgr_check_concurrent_intf_and_restart_sap(mac_ctx->psoc);
 		if (roam_synch_data->authStatus ==
 		    CSR_ROAM_AUTH_STATUS_AUTHENTICATED)
 			csr_roam_update_cfg(mac_ctx, session_id,
 					    REASON_CONNECT);
-		csr_roam_call_callback(mac_ctx, session_id, NULL, 0,
-				       eCSR_ROAM_SYNCH_COMPLETE,
-				       eCSR_ROAM_RESULT_SUCCESS);
 		vdev_roam_params->roam_invoke_in_progress = false;
 		goto end;
 	case SIR_ROAMING_DEAUTH: