qcacmn: Add new API to clear the MLO MGR context

Add new API to clear the particular AP link info
from the MLO MGR context.

CRs-Fixed: 3616166
Change-Id: Ia3b69a58dd3d3687199ee58462d59ba76c24cd6d
Dieser Commit ist enthalten in:
Deeksha Gupta
2023-09-14 15:19:18 +05:30
committet von Rahul Choudhary
Ursprung a8ed648342
Commit 78868f0a7e
3 geänderte Dateien mit 45 neuen und 0 gelöschten Zeilen

Datei anzeigen

@@ -1954,6 +1954,8 @@ cm_modify_partner_info_based_on_dbs_or_sbs_mode(struct wlan_objmgr_vdev *vdev,
best_partner_idx_2g = i;
else
best_partner_idx_5g = i;
break;
}
}

Datei anzeigen

@@ -209,6 +209,17 @@ void mlo_mgr_update_ap_link_info(struct wlan_objmgr_vdev *vdev, uint8_t link_id,
uint8_t *ap_link_addr,
struct wlan_channel channel);
/**
* mlo_mgr_clear_ap_link_info() - Clear AP link information
* @vdev: Object Manager vdev
* @ap_link_addr: AP link addresses
*
* Clear AP link info
* Return: void
*/
void mlo_mgr_clear_ap_link_info(struct wlan_objmgr_vdev *vdev,
uint8_t *ap_link_addr);
/**
* mlo_mgr_reset_ap_link_info() - Reset AP links information
* @vdev: Object Manager vdev

Datei anzeigen

@@ -89,6 +89,38 @@ void mlo_mgr_update_ap_link_info(struct wlan_objmgr_vdev *vdev, uint8_t link_id,
QDF_MAC_ADDR_REF(link_info->ap_link_addr.bytes));
}
void mlo_mgr_clear_ap_link_info(struct wlan_objmgr_vdev *vdev,
uint8_t *ap_link_addr)
{
struct mlo_link_info *link_info;
uint8_t link_info_iter;
if (!vdev || !vdev->mlo_dev_ctx || !ap_link_addr)
return;
link_info = &vdev->mlo_dev_ctx->link_ctx->links_info[0];
for (link_info_iter = 0; link_info_iter < WLAN_MAX_ML_BSS_LINKS;
link_info_iter++) {
if (qdf_is_macaddr_equal(&link_info->ap_link_addr,
(struct qdf_mac_addr *)ap_link_addr)) {
mlo_debug("Clear AP link info for link_id: %d, vdev_id:%d, link_addr:" QDF_MAC_ADDR_FMT,
link_info->link_id, link_info->vdev_id,
QDF_MAC_ADDR_REF(link_info->ap_link_addr.bytes));
qdf_mem_zero(&link_info->ap_link_addr,
QDF_MAC_ADDR_SIZE);
qdf_mem_zero(link_info->link_chan_info,
sizeof(*link_info->link_chan_info));
link_info->link_id = WLAN_INVALID_LINK_ID;
link_info->link_status_flags = 0;
return;
}
link_info++;
}
}
void mlo_mgr_update_ap_channel_info(struct wlan_objmgr_vdev *vdev, uint8_t link_id,
uint8_t *ap_link_addr,
struct wlan_channel channel)