Эх сурвалжийг харах

qcacmn: Set partner vdev link id before initiating the connect on it

Currently, Driver is notifying the connect response to the user-space
immediately after first link connection. At this time, partner vdev
information is not available. Hence user space is notified with invalid
partner wdevs.

To avoid this, set link ID's for the partner VDEVs before notifying the
connect completion to is_if.

Change-Id: I6524e9af9359fced471db8f25220d2ac6854fc22
CRs-Fixed: 3097646
Bapiraju Alla 3 жил өмнө
parent
commit
df5cc86477

+ 6 - 2
umac/mlo_mgr/src/wlan_mlo_mgr_sta.c

@@ -501,7 +501,7 @@ mlo_send_link_connect(struct wlan_objmgr_vdev *vdev,
 		      struct mlo_partner_info ml_parnter_info)
 {
 	/* Create the secondary interface, Send keys if the last link */
-	uint8_t i;
+	uint8_t i, partner_idx = 0;
 	struct wlan_ssid ssid = {0};
 
 	mlo_debug("Sending link connect on partner interface");
@@ -525,11 +525,15 @@ mlo_send_link_connect(struct wlan_objmgr_vdev *vdev,
 						 WLAN_VDEV_FEXT2_MLO);
 		wlan_vdev_mlme_feat_ext2_cap_set(mlo_dev_ctx->wlan_vdev_list[i],
 						 WLAN_VDEV_FEXT2_MLO_STA_LINK);
+		wlan_vdev_set_link_id(
+			mlo_dev_ctx->wlan_vdev_list[i],
+			ml_parnter_info.partner_link_info[partner_idx].link_id);
 		mlo_prepare_and_send_connect(
 				mlo_dev_ctx->wlan_vdev_list[i],
 				ml_parnter_info,
-				ml_parnter_info.partner_link_info[i],
+				ml_parnter_info.partner_link_info[partner_idx],
 				ssid);
+		partner_idx++;
 	}
 }
 #else