qcacld-3.0: Update link id after roaming
Update the link id in vdev mlme after roam sync is processed. Change-Id: I4f7a80ad91235ebafd2bab10c1de22ac8798a816 CRs-Fixed: 3314935
This commit is contained in:

committed by
Madan Koyyalamudi

parent
2a23843522
commit
2fe6f6adb9
@@ -887,6 +887,7 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
|
|||||||
policy_mgr_move_vdev_from_disabled_to_connection_tbl(psoc,
|
policy_mgr_move_vdev_from_disabled_to_connection_tbl(psoc,
|
||||||
vdev_id);
|
vdev_id);
|
||||||
mlo_roam_copy_partner_info(connect_rsp, roam_synch_data);
|
mlo_roam_copy_partner_info(connect_rsp, roam_synch_data);
|
||||||
|
mlo_roam_set_link_id(vdev, roam_synch_data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Don't send roam_sync complete for MLO link vdevs.
|
* Don't send roam_sync complete for MLO link vdevs.
|
||||||
@@ -909,7 +910,6 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
|
|||||||
cm_roam_start_init_on_connect(pdev, vdev_id);
|
cm_roam_start_init_on_connect(pdev, vdev_id);
|
||||||
}
|
}
|
||||||
wlan_cm_tgt_send_roam_sync_complete_cmd(psoc, vdev_id);
|
wlan_cm_tgt_send_roam_sync_complete_cmd(psoc, vdev_id);
|
||||||
|
|
||||||
mlo_roam_update_connected_links(vdev, connect_rsp);
|
mlo_roam_update_connected_links(vdev, connect_rsp);
|
||||||
mlo_set_single_link_ml_roaming(psoc, vdev_id,
|
mlo_set_single_link_ml_roaming(psoc, vdev_id,
|
||||||
roam_synch_data, false);
|
roam_synch_data, false);
|
||||||
|
@@ -253,6 +253,20 @@ wlan_mlo_roam_abort_on_link(struct wlan_objmgr_psoc *psoc,
|
|||||||
bool
|
bool
|
||||||
mlo_check_if_all_links_up(struct wlan_objmgr_vdev *vdev);
|
mlo_check_if_all_links_up(struct wlan_objmgr_vdev *vdev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mlo_roam_set_link_id - set link id post roaming
|
||||||
|
*
|
||||||
|
* @vdev: vdev pointer
|
||||||
|
* @sync_ind: roam sync indication pointer
|
||||||
|
*
|
||||||
|
* This api will be called to set link id post roaming
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
mlo_roam_set_link_id(struct wlan_objmgr_vdev *vdev,
|
||||||
|
struct roam_offload_synch_ind *sync_ind);
|
||||||
|
|
||||||
#else /* WLAN_FEATURE_11BE_MLO */
|
#else /* WLAN_FEATURE_11BE_MLO */
|
||||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||||
static inline
|
static inline
|
||||||
@@ -354,5 +368,10 @@ mlo_check_if_all_links_up(struct wlan_objmgr_vdev *vdev)
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
mlo_roam_set_link_id(struct wlan_objmgr_vdev *vdev,
|
||||||
|
struct roam_offload_synch_ind *sync_ind)
|
||||||
|
{}
|
||||||
#endif /* WLAN_FEATURE_11BE_MLO */
|
#endif /* WLAN_FEATURE_11BE_MLO */
|
||||||
#endif
|
#endif
|
||||||
|
@@ -615,3 +615,19 @@ mlo_check_if_all_links_up(struct wlan_objmgr_vdev *vdev)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
mlo_roam_set_link_id(struct wlan_objmgr_vdev *vdev,
|
||||||
|
struct roam_offload_synch_ind *sync_ind)
|
||||||
|
{
|
||||||
|
uint8_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < sync_ind->num_setup_links; i++) {
|
||||||
|
if (sync_ind->ml_link[i].vdev_id == wlan_vdev_get_id(vdev)) {
|
||||||
|
wlan_vdev_set_link_id(vdev,
|
||||||
|
sync_ind->ml_link[i].link_id);
|
||||||
|
mlme_debug("Set link for vdev id %d link id %d",
|
||||||
|
wlan_vdev_get_id(vdev),
|
||||||
|
sync_ind->ml_link[i].link_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user