Parcourir la source

qcacld-3.0: Don't config high RSSI trigger if self MLD roam supported

After roaming to 2+5 MLO AP, MLD high RSSI roaming trigger is
getting disabled if assoc link is on 5 GHz.

To fix it, if self MLD roaming is supported, then don't enable
high rssi roaming trigger for 2.4 GHz link and disable it for 5
GHz link after roaming is competed.

Change-Id: I4c02cb2c946d97884fbc0d6cc513c585c21b9548
CRs-Fixed: 3670241
Jianmin Zhu il y a 1 an
Parent
commit
336cae1135

+ 15 - 8
components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c

@@ -1308,14 +1308,21 @@ QDF_STATUS cm_fw_roam_complete(struct cnx_mgr *cm_ctx, void *data)
 	if (ucfg_pkt_capture_get_pktcap_mode(psoc))
 		ucfg_pkt_capture_record_channel(cm_ctx->vdev);
 
-	if (WLAN_REG_IS_24GHZ_CH_FREQ(roam_synch_data->chan_freq)) {
-		wlan_cm_set_disable_hi_rssi(pdev,
-					    vdev_id, false);
-	} else {
-		wlan_cm_set_disable_hi_rssi(pdev,
-					    vdev_id, true);
-		mlme_debug("Disabling HI_RSSI, AP freq=%d rssi %d",
-			   roam_synch_data->chan_freq, roam_synch_data->rssi);
+	/*
+	 * Firmware will take care of checking hi_scan rssi delta, take care of
+	 * legacy -> legacy hi-rssi roam also if self mld roam supported.
+	 */
+	if (!wlan_cm_is_self_mld_roam_supported(psoc)) {
+		if (WLAN_REG_IS_24GHZ_CH_FREQ(roam_synch_data->chan_freq)) {
+			wlan_cm_set_disable_hi_rssi(pdev,
+						    vdev_id, false);
+		} else {
+			wlan_cm_set_disable_hi_rssi(pdev,
+						    vdev_id, true);
+			mlme_debug("Disabling HI_RSSI, AP freq=%d rssi %d vdev id %d",
+				   roam_synch_data->chan_freq,
+				   roam_synch_data->rssi, vdev_id);
+		}
 	}
 	policy_mgr_check_n_start_opportunistic_timer(psoc);