Browse Source

qcacmn: Do mlo register only for mlo capable soc

Do mlo register only for mlo capable soc, since non mlo
chips also could be part of mlo capable target

Change-Id: Ibef1899257f60a00ba3933af44efdb736550b9e4
CRs-Fixed: 3582269
Surya Prakash Raajen 1 year ago
parent
commit
6aa15982ae
1 changed files with 23 additions and 0 deletions
  1. 23 0
      umac/mlo_mgr/src/wlan_mlo_mgr_main.c

+ 23 - 0
umac/mlo_mgr/src/wlan_mlo_mgr_main.c

@@ -84,6 +84,26 @@ static void mlo_global_ctx_init(void)
 	mlo_msgq_init();
 }
 
+/**
+ * wlan_mlo_check_psoc_capable() - Check if psoc is mlo capable
+ * @psoc: psoc pointer
+ *
+ * API to check if psoc is mlo capable
+ *
+ * Return: bool, true if capable else false
+ */
+#ifdef WLAN_MLO_MULTI_CHIP
+static bool wlan_mlo_check_psoc_capable(struct wlan_objmgr_psoc *psoc)
+{
+	return wlan_mlo_get_psoc_capable(psoc);
+}
+#else
+static bool wlan_mlo_check_psoc_capable(struct wlan_objmgr_psoc *psoc)
+{
+	return true;
+}
+#endif
+
 QDF_STATUS wlan_mlo_mgr_psoc_enable(struct wlan_objmgr_psoc *psoc)
 {
 	struct wlan_lmac_if_mlo_tx_ops *mlo_tx_ops;
@@ -93,6 +113,9 @@ QDF_STATUS wlan_mlo_mgr_psoc_enable(struct wlan_objmgr_psoc *psoc)
 		return QDF_STATUS_E_NULL_VALUE;
 	}
 
+	if (!wlan_mlo_check_psoc_capable(psoc))
+		return QDF_STATUS_SUCCESS;
+
 	mlo_tx_ops = target_if_mlo_get_tx_ops(psoc);
 	if (!mlo_tx_ops) {
 		mlo_err("tx_ops is null!");