qcacmn: Add ML reconfig starting notify for link removal
Add mlme_vdev_reconfig_notify callback to notify the ML reconfig link removal starting after receive the first ML reconfig link removal IE. Change-Id: I9ae37b7defc75c97e7bc39e07c9d154e1923aedd CRs-Fixed: 3380159
This commit is contained in:

committed by
Madan Koyyalamudi

parent
69d9fa5a24
commit
dec5632356
@@ -711,6 +711,9 @@ enum vdev_start_resp_type {
|
||||
* @mlme_vdev_dfs_cac_wait_notify: callback to notify about CAC state
|
||||
* @mlme_vdev_csa_complete: callback to indicate CSA complete
|
||||
* @mlme_vdev_sta_disconn_start: callback to initiate STA disconnection
|
||||
* @mlme_vdev_reconfig_notify: callback to notify ml reconfing link
|
||||
* delete start operation after receive
|
||||
* the first ml reconfig IE
|
||||
* @mlme_vdev_reconfig_timer_complete: callback to process ml reconfing
|
||||
* operation
|
||||
* @mlme_vdev_notify_mlo_sync_wait_entry:
|
||||
@@ -792,6 +795,9 @@ struct vdev_mlme_ops {
|
||||
QDF_STATUS (*mlme_vdev_sta_disconn_start)(
|
||||
struct vdev_mlme_obj *vdev_mlme,
|
||||
uint16_t event_data_len, void *event_data);
|
||||
QDF_STATUS (*mlme_vdev_reconfig_notify)(
|
||||
struct vdev_mlme_obj *vdev_mlme,
|
||||
uint16_t *tbtt_count, uint16_t bcn_int);
|
||||
void (*mlme_vdev_reconfig_timer_complete)(
|
||||
struct vdev_mlme_obj *vdev_mlme);
|
||||
QDF_STATUS (*mlme_vdev_notify_mlo_sync_wait_entry)(
|
||||
|
@@ -2185,6 +2185,7 @@ static void mlo_process_link_remove(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_objmgr_peer *bss_peer = NULL;
|
||||
uint16_t bcn_int = 0;
|
||||
uint16_t tbtt_count = 0;
|
||||
QDF_STATUS status;
|
||||
|
||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||
if (!vdev_mlme)
|
||||
@@ -2207,6 +2208,14 @@ static void mlo_process_link_remove(struct wlan_objmgr_vdev *vdev,
|
||||
if (!bcn_int)
|
||||
return;
|
||||
|
||||
if (vdev_mlme->ops &&
|
||||
vdev_mlme->ops->mlme_vdev_reconfig_notify) {
|
||||
status = vdev_mlme->ops->mlme_vdev_reconfig_notify(
|
||||
vdev_mlme, &tbtt_count, bcn_int);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return;
|
||||
}
|
||||
|
||||
vdev_mlme->ml_reconfig_started = true;
|
||||
qdf_timer_mod(&vdev_mlme->ml_reconfig_timer,
|
||||
qdf_time_uint_to_ms(tbtt_count * bcn_int));
|
||||
|
Reference in New Issue
Block a user