|
@@ -31,6 +31,9 @@
|
|
#include <wlan_scan_public_structs.h>
|
|
#include <wlan_scan_public_structs.h>
|
|
#include<wlan_mgmt_txrx_utils_api.h>
|
|
#include<wlan_mgmt_txrx_utils_api.h>
|
|
#include <wlan_reg_services_api.h>
|
|
#include <wlan_reg_services_api.h>
|
|
|
|
+#ifdef WLAN_FEATURE_11BE_MLO
|
|
|
|
+#include "wlan_mlo_mgr_public_structs.h"
|
|
|
|
+#endif
|
|
|
|
|
|
#define ASCII_SPACE_CHARACTER 32
|
|
#define ASCII_SPACE_CHARACTER 32
|
|
|
|
|
|
@@ -751,6 +754,38 @@ util_scan_copy_beacon_data(struct scan_cache_entry *new_entry,
|
|
|
|
|
|
return QDF_STATUS_SUCCESS;
|
|
return QDF_STATUS_SUCCESS;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+#ifdef WLAN_FEATURE_11BE_MLO
|
|
|
|
+/**
|
|
|
|
+ * util_scan_get_ml_partner_info() - Get partner links info of an ML connection
|
|
|
|
+ * @scan_entry: scan entry
|
|
|
|
+ *
|
|
|
|
+ * API, function to get partner link information from an ML scan cache entry
|
|
|
|
+ *
|
|
|
|
+ * Return: scan_entry
|
|
|
|
+ */
|
|
|
|
+static inline struct mlo_partner_info
|
|
|
|
+util_scan_get_ml_partner_info(struct scan_cache_entry *scan_entry)
|
|
|
|
+{
|
|
|
|
+ struct mlo_partner_info partner_info;
|
|
|
|
+ uint8_t i;
|
|
|
|
+
|
|
|
|
+ partner_info.num_partner_links =
|
|
|
|
+ qdf_min((uint8_t)WLAN_UMAC_MLO_MAX_VDEVS,
|
|
|
|
+ scan_entry->ml_info->num_links);
|
|
|
|
+ /* TODO: Make sure that scan_entry->ml_info->link_info is a sorted
|
|
|
|
+ * list */
|
|
|
|
+ for (i = 0; i < partner_info.num_partner_links; i++) {
|
|
|
|
+ partner_info.partner_link_info[i].link_addr =
|
|
|
|
+ scan_entry->ml_info->link_info[i].link_addr;
|
|
|
|
+ partner_info.partner_link_info[i].link_id =
|
|
|
|
+ scan_entry->ml_info->link_info[i].link_id;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return partner_info;
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* util_scan_copy_cache_entry() - function to create a copy
|
|
* util_scan_copy_cache_entry() - function to create a copy
|
|
* of scan cache entry
|
|
* of scan cache entry
|