瀏覽代碼

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 年之前
父節點
當前提交
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);