Prechádzať zdrojové kódy

qcacmn: Add API to get primary link id from ML peer

Add API to get primary link id from ML peer

Change-Id: I530cfad70067cea1e8907bc9d409331091f89f85
CRs-Fixed: 3455058
Himanshu Batra 2 rokov pred
rodič
commit
1611ebc3f4

+ 13 - 0
umac/mlo_mgr/inc/wlan_mlo_mgr_peer.h

@@ -372,6 +372,19 @@ void wlan_mlo_peer_get_links_info(struct wlan_objmgr_peer *peer,
  */
 uint8_t wlan_mlo_peer_get_primary_peer_link_id(struct wlan_objmgr_peer *peer);
 
+/**
+ * wlan_mlo_peer_get_primary_peer_link_id_by_ml_peer() - get vdev link ID of
+ * primary peer using ml peer.
+ * @ml_peer: ML peer
+ *
+ * This function checks for the peers and returns vdev link id of the primary
+ * peer.
+ *
+ * Return: link id of primary vdev
+ */
+uint8_t wlan_mlo_peer_get_primary_peer_link_id_by_ml_peer(
+				struct wlan_mlo_peer_context *ml_peer);
+
 /**
  * wlan_mlo_peer_get_partner_links_info() - get MLO peer partner links info
  * @peer: Link peer

+ 17 - 3
umac/mlo_mgr/src/wlan_mlo_mgr_peer.c

@@ -1417,13 +1417,27 @@ qdf_export_symbol(wlan_mlo_peer_get_links_info);
 uint8_t wlan_mlo_peer_get_primary_peer_link_id(struct wlan_objmgr_peer *peer)
 {
 	struct wlan_mlo_peer_context *ml_peer;
+
+	ml_peer = peer->mlo_peer_ctx;
+
+	if (!ml_peer) {
+		mlo_err("ml_peer is null");
+		return WLAN_LINK_ID_INVALID;
+	}
+
+	return wlan_mlo_peer_get_primary_peer_link_id_by_ml_peer(ml_peer);
+}
+
+qdf_export_symbol(wlan_mlo_peer_get_primary_peer_link_id);
+
+uint8_t wlan_mlo_peer_get_primary_peer_link_id_by_ml_peer(
+				struct wlan_mlo_peer_context *ml_peer)
+{
 	struct wlan_mlo_link_peer_entry *peer_entry;
 	struct wlan_objmgr_peer *link_peer;
 	struct wlan_objmgr_vdev *link_vdev;
 	uint8_t i, vdev_link_id;
 
-	ml_peer = peer->mlo_peer_ctx;
-
 	if (!ml_peer) {
 		mlo_err("ml_peer is null");
 		return WLAN_LINK_ID_INVALID;
@@ -1460,7 +1474,7 @@ uint8_t wlan_mlo_peer_get_primary_peer_link_id(struct wlan_objmgr_peer *peer)
 	return WLAN_LINK_ID_INVALID;
 }
 
-qdf_export_symbol(wlan_mlo_peer_get_primary_peer_link_id);
+qdf_export_symbol(wlan_mlo_peer_get_primary_peer_link_id_by_ml_peer);
 
 void wlan_mlo_peer_get_partner_links_info(struct wlan_objmgr_peer *peer,
 					  struct mlo_partner_info *ml_links)