Bläddra i källkod

qcacld-3.0: Fix link switch fail after roaming

Root cause:
1. When connect to 2 link AP1 completed, will save assoc rsp in
mlo_dev_ctx->sta_ctx->assoc_rsp by mlo_sta_link_connect_notify.
2. When roam to another 3 link AP2 completed, reassoc rsp isn’t saved in
mlo_dev_ctx->sta_ctx->assoc_rsp.
3. When link switch happens and need gen link assoc rsp, still use
mlo_get_assoc_rsp to get mlo_dev_ctx->sta_ctx->assoc_rsp as AP2’s
reassoc rsp, so failed to find right per-sta profile in assoc_rsp.

To fix it, when roam to AP2 completed, save reassoc rsp in
mlo_dev_ctx->sta_ctx->assoc_rsp by mlo_roam_copy_reassoc_rsp without
checking whether AUTH/EAPOL finished. replace old initial connected AP’s
assoc rsp.

Change-Id: I6873ba090dd85ad919541d10acbdd6599fc9675c
CRs-Fixed: 3650574
Jianmin Zhu 1 år sedan
förälder
incheckning
18dfc03871
1 ändrade filer med 1 tillägg och 2 borttagningar
  1. 1 2
      components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c

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

@@ -1115,8 +1115,7 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
 	mlme_cm_osif_connect_complete(vdev, connect_rsp);
 	mlme_cm_osif_roam_complete(vdev);
 
-	if (wlan_vdev_mlme_is_mlo_vdev(vdev) &&
-	    roam_synch_data->auth_status == ROAM_AUTH_STATUS_CONNECTED)
+	if (wlan_vdev_mlme_is_mlo_vdev(vdev))
 		mlo_roam_copy_reassoc_rsp(vdev, connect_rsp);
 	mlme_debug(CM_PREFIX_FMT, CM_PREFIX_REF(vdev_id, cm_id));
 	cm_remove_cmd(cm_ctx, &cm_id);