|
@@ -83,6 +83,41 @@ mlo_free_connect_ies(struct wlan_cm_connect_req *connect_req)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * mlo_get_tdls_link_vdev() - API to get tdls link vdev
|
|
|
+ * @mlo_dev_ctx: pointer to mlo dev context
|
|
|
+ *
|
|
|
+ * Return: MLD tdls link vdev
|
|
|
+ */
|
|
|
+static inline struct wlan_objmgr_vdev *
|
|
|
+mlo_get_tdls_link_vdev(struct wlan_mlo_dev_context *mlo_dev_ctx)
|
|
|
+{
|
|
|
+ uint8_t i = 0;
|
|
|
+
|
|
|
+ if (!mlo_dev_ctx)
|
|
|
+ return NULL;
|
|
|
+
|
|
|
+ for (i = 0; i < WLAN_UMAC_MLO_MAX_VDEVS; i++) {
|
|
|
+ if (!mlo_dev_ctx->wlan_vdev_list[i])
|
|
|
+ continue;
|
|
|
+
|
|
|
+ if (wlan_vdev_mlme_is_tdls_vdev(mlo_dev_ctx->wlan_vdev_list[i]))
|
|
|
+ return mlo_dev_ctx->wlan_vdev_list[i];
|
|
|
+ }
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+struct wlan_objmgr_vdev *
|
|
|
+wlan_mlo_get_tdls_link_vdev(struct wlan_objmgr_vdev *vdev)
|
|
|
+{
|
|
|
+ struct wlan_mlo_dev_context *mlo_dev_ctx = vdev->mlo_dev_ctx;
|
|
|
+
|
|
|
+ if (!mlo_dev_ctx || !wlan_vdev_mlme_is_mlo_vdev(vdev))
|
|
|
+ return NULL;
|
|
|
+
|
|
|
+ return mlo_get_tdls_link_vdev(mlo_dev_ctx);
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* mlo_get_assoc_link_vdev - API to get assoc link vdev
|
|
|
*
|