From f8ca4c5c526090638a63eaef00c38a998370299d Mon Sep 17 00:00:00 2001 From: Amruta Kulkarni Date: Wed, 25 Aug 2021 21:41:24 -0700 Subject: [PATCH] qcacld-3.0: Update chan freq for roam invoke In roam invoke request, if bssid is same as connected bssid use connected frequency. Change-Id: I0e205ffab002b80021bf6a615e4cfc0a723f0ba5 CRs-Fixed: 3022351 --- .../mlme/connection_mgr/core/src/wlan_cm_roam_offload.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload.c b/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload.c index db3aa1948f..acaaf51cbb 100644 --- a/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload.c +++ b/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload.c @@ -4401,6 +4401,7 @@ QDF_STATUS cm_start_roam_invoke(struct wlan_objmgr_psoc *psoc, struct cm_req *cm_req; QDF_STATUS status; uint8_t roam_control_bitmap; + struct qdf_mac_addr connected_bssid; uint8_t vdev_id = vdev->vdev_objmgr.vdev_id; bool roam_offload_enabled = cm_roam_offload_enabled(psoc); @@ -4432,6 +4433,12 @@ QDF_STATUS cm_start_roam_invoke(struct wlan_objmgr_psoc *psoc, goto send_evt; } + wlan_vdev_get_bss_peer_mac(vdev, &connected_bssid); + if (qdf_is_macaddr_equal(bssid, &connected_bssid)) { + mlme_debug("Reassoc BSSID is same as currently associated AP"); + chan_freq = wlan_get_operation_chan_freq(vdev); + } + if (!chan_freq || qdf_is_macaddr_zero(bssid)) { mlme_debug("bssid " QDF_MAC_ADDR_FMT " chan_freq %d", QDF_MAC_ADDR_REF(bssid->bytes), chan_freq);