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
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index a5bdd79..ad16620 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -14880,14 +14880,10 @@
}
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 @@
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,