diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index a951d8e7373e..cdad46328763 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2884,9 +2884,16 @@ int wma_mlme_roam_synch_event_handler_cb(void *handle, uint8_t *event, * results in firmware assert. */ channel = wlan_freq_to_chan(wma->interfaces[synch_event->vdev_id].mhz); - wma_get_phy_mode_cb(channel, - wma->interfaces[synch_event->vdev_id].chan_width, - &wma->interfaces[synch_event->vdev_id].chanmode); + if (param_buf->chan) { + wma->interfaces[synch_event->vdev_id].chanmode = + WMI_GET_CHANNEL_MODE(param_buf->chan); + } else { + wma_get_phy_mode_cb(channel, + wma->interfaces[synch_event->vdev_id]. + chan_width, + &wma->interfaces[synch_event->vdev_id]. + chanmode); + } wma->csr_roam_synch_cb((struct mac_context *)wma->mac_context, roam_synch_ind_ptr, bss_desc_ptr, SIR_ROAM_SYNCH_COMPLETE);