瀏覽代碼

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
Pragaspathi Thilagaraj 6 年之前
父節點
當前提交
6af860a3e8
共有 1 個文件被更改,包括 12 次插入7 次删除
  1. 12 7
      core/sme/src/csr/csr_api_roam.c

+ 12 - 7
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,