浏览代码

qcacld-3.0: Handle supplicant enable rso for mlo connection

In case supplicant enable's roaming before link vdevs are up
drop the request as once all links are up host will enable RSO.

Change-Id: Iba10b6da7c0d24f6e7b1601eefab1dbee0e3af46
CRs-Fixed: 3429178
Amruta Kulkarni 2 年之前
父节点
当前提交
271f3367e8
共有 1 个文件被更改,包括 12 次插入1 次删除
  1. 12 1
      components/umac/mlme/connection_mgr/dispatcher/src/wlan_cm_roam_ucfg_api.c

+ 12 - 1
components/umac/mlme/connection_mgr/dispatcher/src/wlan_cm_roam_ucfg_api.c

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -25,6 +25,7 @@
 #include "wlan_cm_roam_ucfg_api.h"
 #include "../../core/src/wlan_cm_roam_offload.h"
 #include "wlan_reg_ucfg_api.h"
+#include "wlan_mlo_mgr_sta.h"
 
 bool ucfg_is_rso_enabled(struct wlan_objmgr_pdev *pdev, uint8_t vdev_id)
 {
@@ -89,6 +90,16 @@ ucfg_user_space_enable_disable_rso(struct wlan_objmgr_pdev *pdev,
 	mlme_set_supplicant_disabled_roaming(psoc, vdev_id,
 					     !is_fast_roam_enabled);
 
+	/* For mlo connection, before all links are up
+	 * supplicant can enable roaming, to handle this
+	 * drop the enable rso as host will enable roaming
+	 * once all links are up
+	 */
+	if (mlo_is_ml_connection_in_progress(psoc, vdev_id)) {
+		mlme_debug("mlo connection in progress");
+		return QDF_STATUS_SUCCESS;
+	}
+
 	state = (is_fast_roam_enabled) ?
 		WLAN_ROAM_RSO_ENABLED : WLAN_ROAM_RSO_STOPPED;
 	status = cm_roam_state_change(pdev, vdev_id, state,