From f68b764b54f56a5e3100b9db6d05ea2981a8d20b Mon Sep 17 00:00:00 2001 From: Tushnim Bhattacharyya Date: Tue, 25 Jun 2019 12:17:46 -0700 Subject: [PATCH] qcacld-3.0: Update the phy mode correctly after roaming After roaming the phy mode gets updated by FW via roam_sync event. Update wma with the value from the roam_sync event. Change-Id: Ie4b47ad83866f033bcd92781fdb05bd7456180f5 CRs-Fixed: 2477071 --- core/wma/src/wma_scan_roam.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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);