Răsfoiți Sursa

qcacld-3.0: RSO enable for open and secure connection

Currently rso enable for open and secure connection is handled
incorrectly.
For secure connection roaming should be enabled
after key exchange is complete.
For open connection rso enable is done twice.

Fix is for enabling roam offload for open and secure connection.

Change-Id: I0abde2a6001f176c97e4aa59947260a50c48e6cc
CRs-Fixed: 3271248
Amruta Kulkarni 2 ani în urmă
părinte
comite
7a2871544b

+ 3 - 0
components/cmn_services/interface_mgr/src/wlan_if_mgr_roam.c

@@ -46,6 +46,9 @@ static void if_mgr_enable_roaming_on_vdev(struct wlan_objmgr_pdev *pdev,
 	vdev_id = wlan_vdev_get_id(vdev);
 	curr_vdev_id = roam_arg->curr_vdev_id;
 
+	if (wlan_vdev_mlme_is_mlo_vdev(vdev))
+		return;
+
 	if (curr_vdev_id != vdev_id &&
 	    vdev->vdev_mlme.vdev_opmode == QDF_STA_MODE &&
 	    vdev->vdev_mlme.mlme_state == WLAN_VDEV_S_UP) {

+ 2 - 2
components/umac/mlme/connection_mgr/core/src/wlan_cm_vdev_connect.c

@@ -1503,11 +1503,11 @@ cm_connect_complete_ind(struct wlan_objmgr_vdev *vdev,
 					     mlme_get_tdls_prohibited(vdev),
 					     vdev);
 		wlan_p2p_status_connect(vdev);
-
 	}
 
 	if (op_mode == QDF_STA_MODE &&
-	    !wlan_vdev_mlme_is_mlo_vdev(vdev))
+		(wlan_vdev_mlme_is_mlo_link_vdev(vdev) ||
+	    !wlan_vdev_mlme_is_mlo_vdev(vdev)))
 		wlan_cm_roam_state_change(pdev, vdev_id, WLAN_ROAM_INIT,
 					  REASON_CONNECT);
 

+ 1 - 2
core/sme/src/csr/csr_api_roam.c

@@ -3445,8 +3445,7 @@ csr_roam_chk_lnk_set_ctx_rsp(struct mac_context *mac_ctx, tSirSmeRsp *msg_ptr)
 		csr_roam_substate_change(mac_ctx, eCSR_ROAM_SUBSTATE_NONE,
 					 sessionId);
 		cm_stop_wait_for_key_timer(mac_ctx->psoc, sessionId);
-		if (!wlan_vdev_mlme_get_is_mlo_vdev(mac_ctx->psoc, sessionId))
-			cm_roam_start_init_on_connect(mac_ctx->pdev, sessionId);
+		cm_roam_start_init_on_connect(mac_ctx->pdev, sessionId);
 	}
 	if (eSIR_SME_SUCCESS == pRsp->status_code) {
 		qdf_copy_macaddr(&roam_info->peerMac, &pRsp->peer_macaddr);