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
This commit is contained in:

committed by
Rahul Choudhary

parent
a8ed648342
commit
78868f0a7e
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user