qcacld-3.0: Don't clear roam_invoke_in_progress when receive ROAM_ABORT

After supplicant disabled vdev roaming, only host can invoke roaming.
After host invoked roaming, if reassoc failed, F/W aborted roaming and
retried roaming, if succeeded, then sent ROAM SYNCH later, but host
rejected it since roam_invoke_in_progress is cleared when receive
ROAM_ABORT, didn’t send WMI_ROAM_SYNCH_COMPLETE to F/W,  F/W asserted
after timeout.

Fix it by not clearing roam_invoke_in_progress when receive ROAM_ABORT,
If host invoked roaming failed, F/W will send roam event
WMI_ROAM_REASON_INVOKE_ROAM_FAIL at last, roam_invoke_in_progress will be
cleared at that time.

Change-Id: Idbbae94f7ad77794f28f5d66dc68b33358d6f49e
CRs-Fixed: 3021513
This commit is contained in:
Jianmin Zhu 2021-08-26 13:13:37 +08:00 • committed by Madan Koyyalamudi
commit 36de1cca72

View file

@ -21077,7 +21077,6 @@ csr_process_roam_sync_callback(struct mac_context *mac_ctx,
csr_roam_invoke_timer_stop(mac_ctx, session_id);
csr_roam_call_callback(mac_ctx, session_id, NULL, 0,
eCSR_ROAM_ABORT, eCSR_ROAM_RESULT_SUCCESS);
vdev_roam_params->roam_invoke_in_progress = false;
goto end;
case SIR_ROAM_SYNCH_NAPI_OFF:
csr_roam_call_callback(mac_ctx, session_id, NULL, 0,