From 6af860a3e87bb78f901a66a380a5ecc45b337bf9 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Thu, 15 Nov 2018 18:51:30 +0530 Subject: [PATCH] qcacld-3.0: Update disable_hi_rssi after roam sync is complete The disable_hi_rssi flag in pe session is used to control the hi rssi scan delta value sent from the host to the firmware. If the disable_hi_rssi is set to false, then the ini parameter hi_rssi_scan_rssi_delta value is sent to the firmware. When STA roams from 5G to 2G band, this disable_hi_rssi should be set to false and hi-rssi scan delta will be non zero, so the firmware will handle high rssi scans if the RSSI is better than the roaming threshold. The default ini value of gRoamScanHiRssiDelta is 10. When host driver receives roam sync complete event, set the disable_hi_rssi to true if band is 5G else set it to false. Change-Id: I7b9d94f804619d7a4a11d0ba9acaa6cf5defbc68 CRs-Fixed: 2350842 --- core/sme/src/csr/csr_api_roam.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index a5bdd7905061..ad16620a5450 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -14880,14 +14880,10 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId, } neigh_roam_info = &pMac->roam.neighborRoamInfo[sessionId]; if ((eWNI_SME_REASSOC_REQ == messageType) || - WLAN_REG_IS_5GHZ_CH(pBssDescription->channelId) || - (abs(pBssDescription->rssi) < - (neigh_roam_info->cfgParams.neighborLookupThreshold - - neigh_roam_info->cfgParams.hi_rssi_scan_rssi_delta))) { + WLAN_REG_IS_5GHZ_CH(pBssDescription->channelId)) { pSession->disable_hi_rssi = true; - sme_debug( - "Disabling HI_RSSI feature, AP channel=%d, rssi=%d", - pBssDescription->channelId, pBssDescription->rssi); + sme_debug("Disabling HI_RSSI, AP channel=%d, rssi=%d", + pBssDescription->channelId, pBssDescription->rssi); } else { pSession->disable_hi_rssi = false; } @@ -21362,6 +21358,15 @@ static QDF_STATUS csr_process_roam_sync_callback(tpAniSirGlobal mac_ctx, mac_ctx->psoc); mac_ctx->sme.set_connection_info_cb(false); session->roam_synch_in_progress = false; + + if (WLAN_REG_IS_5GHZ_CH(bss_desc->channelId)) { + session->disable_hi_rssi = true; + sme_debug("Disabling HI_RSSI, AP channel=%d, rssi=%d", + bss_desc->channelId, bss_desc->rssi); + } else { + session->disable_hi_rssi = false; + } + policy_mgr_check_concurrent_intf_and_restart_sap(mac_ctx->psoc); csr_roam_offload_scan(mac_ctx, session_id, ROAM_SCAN_OFFLOAD_START,