From a8d079d93d3efb97f3e9e2945bf8935d4364371c Mon Sep 17 00:00:00 2001 From: hqu Date: Thu, 10 May 2018 22:10:20 +0800 Subject: [PATCH] qcacld-3.0: Always set WMI_ROAM_SCAN_MODE_NONE with RSO_STOP cmd for LFR2.0 For LFR2.0 roaming policy, firmware will indicate roam event with WMI_ROAM_REASON_SUITABLE_AP reason even ROAM_SCAN_OFFLOAD_STOP cmd set with WMI_ROAM_SCAN_MODE_ROAMOFFLOAD, it doesn't obey LFR2.0 roaming policy design. Root cause is firmware only disable roam scan with ROAM_SCAN_OFFLOAD_STOP cmd which must set scan mode with WMI_ROAM_SCAN_MODE_NONE. Fix is to always set scan mode with WMI_ROAM_SCAN_MODE_NONE for LFR2.0 when host send ROAM_SCAN_OFFLOAD_STOP cmd. Change-Id: Id5e8325f2767023daacd3dbd4104ce768de3857d CRs-Fixed: 2228315 --- core/wma/src/wma_scan_roam.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 559e9ca72816..f4f8dcaf69c8 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -1600,11 +1600,16 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle, NULL, &scan_params); if (roam_req->reason == REASON_ROAM_STOP_ALL || - roam_req->reason == REASON_ROAM_SYNCH_FAILED) + roam_req->reason == REASON_ROAM_SYNCH_FAILED) { mode = WMI_ROAM_SCAN_MODE_NONE; - else - mode = WMI_ROAM_SCAN_MODE_NONE | - WMI_ROAM_SCAN_MODE_ROAMOFFLOAD; + } else { + if (csr_roamIsRoamOffloadEnabled(pMac)) + mode = WMI_ROAM_SCAN_MODE_NONE | + WMI_ROAM_SCAN_MODE_ROAMOFFLOAD; + else + mode = WMI_ROAM_SCAN_MODE_NONE; + } + qdf_status = wma_roam_scan_offload_mode(wma_handle, &scan_params, NULL, mode, roam_req->sessionId);