qcacld-3.0: Update channel before user space update

As part of roaming, roamed event is sent to the userspace.
This marks the end of roaming and userspace begins CSI
restart for the new BSS. But, the channel information of
the new BSS is not yet updated to the vdev. This leads to
sending wrong channel in the for CFR capture.

To fix this, update the channel info of the new BSS before
sending userspace update.

Change-Id: I3af5aadf6041e56f2261aaebd7d2c1a108f63c65
CRs-Fixed: 3500062
This commit is contained in:
Surya Prakash Sivaraj 2023-05-16 11:08:19 +05:30 • committed by Rahul Choudhary
commit 632d736aa2

View file

@ -1398,16 +1398,6 @@ int wma_mlme_roam_synch_event_handler_cb(void *handle, uint8_t *event,
wma_roam_update_vdev(wma, roam_synch_ind_ptr);
if (QDF_IS_STATUS_ERROR(wma->csr_roam_synch_cb(wma->mac_context,
roam_synch_ind_ptr,
bss_desc_ptr, SIR_ROAM_SYNCH_PROPAGATION))) {
wma_err("CSR roam synch propagation failed, abort roam");
status = -EINVAL;
goto cleanup_label;
}
wma_process_roam_synch_complete(wma, synch_event->vdev_id);
/* update freq and channel width */
wma->interfaces[synch_event->vdev_id].ch_freq =
roam_synch_ind_ptr->chan_freq;
@ -1426,6 +1416,16 @@ int wma_mlme_roam_synch_event_handler_cb(void *handle, uint8_t *event,
param_buf->chan,
&wma->interfaces[synch_event->vdev_id]);
if (QDF_IS_STATUS_ERROR(wma->csr_roam_synch_cb(wma->mac_context,
roam_synch_ind_ptr,
bss_desc_ptr, SIR_ROAM_SYNCH_PROPAGATION))) {
wma_err("CSR roam synch propagation failed, abort roam");
status = -EINVAL;
goto cleanup_label;
}
wma_process_roam_synch_complete(wma, synch_event->vdev_id);
wma->csr_roam_synch_cb(wma->mac_context, roam_synch_ind_ptr,
bss_desc_ptr, SIR_ROAM_SYNCH_COMPLETE);
wma->interfaces[synch_event->vdev_id].roam_synch_delay =