qcacld-3.0: Allow driver to process roam sync ind in RSO STOPPED state

Supplicant disables fast roaming (by making isFastRoamEnabled = 0)
before sending ROAM_INVOKE_CMD to host. This results roaming state
of host changes to  ROAM_RSO_STOPPED before start processing
ROAM_INVOKE_CMD command.

Due to commit : Id0ea18a33dfef3d4e9a4003da33fc7172cf58e85, Host
unable to process roam sync indication event if supplicant disable
fast roaming before sending ROAM INVOKE command. This leads to
roaming failure.

Fix is to allow driver to process roam sync indication even in
RSO stopped state, if roaming triggered by userspace.

Change-Id: Ia5f5c7b078d457280bce8c24110f01a3be26c3d6
CRs-Fixed: 2670060
This commit is contained in:
Abhinav Kumar 2020-05-20 11:38:21 +05:30 committed by nshrivas
parent fd7d53a4fc
commit 9bb8c487cc

View File

@ -20812,7 +20812,8 @@ static QDF_STATUS csr_process_roam_sync_callback(struct mac_context *mac_ctx,
csr_roam_roaming_offload_timer_action(mac_ctx,
0, session_id, ROAMING_OFFLOAD_TIMER_STOP);
if (session->discon_in_progress ||
MLME_IS_ROAM_STATE_STOPPED(mac_ctx->psoc, session_id) ||
(MLME_IS_ROAM_STATE_STOPPED(mac_ctx->psoc, session_id) &&
!vdev_roam_params->roam_invoke_in_progress) ||
!CSR_IS_ROAM_JOINED(mac_ctx, session_id)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
FL("LFR3: Session not in connected state or disconnect is in progress %d"),