Forráskód Böngészése

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
Amruta Kulkarni 3 éve
szülő
commit
f8ca4c5c52

+ 7 - 0
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);