Procházet zdrojové kódy

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 před 6 roky
rodič
revize
6af860a3e8
1 změnil soubory, kde provedl 12 přidání a 7 odebrání
  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,