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

qcacld-3.0: Add link id to roam connect req

Add link id to connect request for partner link roaming to
match with scan entry's self link id to avoid selecting
a candidate with same BSSID and MLD but different link id.

Change-Id: I4b903f2e64a9eb4cc9f197577b2b11ea657aa2b2
CRs-Fixed: 3843561
Vinod Kumar Pirla 1 éve
szülő
commit
020883b561
1 módosított fájl, 7 hozzáadás és 9 törlés
  1. 7 9
      components/umac/mlme/mlo_mgr/src/wlan_mlo_mgr_roam.c

+ 7 - 9
components/umac/mlme/mlo_mgr/src/wlan_mlo_mgr_roam.c

@@ -1232,8 +1232,7 @@ static QDF_STATUS
 mlo_roam_prepare_and_send_link_connect_req(struct wlan_objmgr_vdev *assoc_vdev,
 					   struct wlan_objmgr_vdev *link_vdev,
 					   struct wlan_cm_connect_resp *rsp,
-					   struct qdf_mac_addr *link_addr,
-					   uint16_t chan_freq)
+					   struct mlo_link_info *link_info)
 {
 	struct wlan_mlo_sta *sta_ctx;
 	struct wlan_cm_connect_req req = {0};
@@ -1251,8 +1250,9 @@ mlo_roam_prepare_and_send_link_connect_req(struct wlan_objmgr_vdev *assoc_vdev,
 
 	req.vdev_id = wlan_vdev_get_id(link_vdev);
 	req.source = CM_MLO_LINK_VDEV_CONNECT;
-	req.chan_freq = chan_freq;
-	qdf_mem_copy(&req.bssid.bytes, link_addr->bytes, QDF_MAC_ADDR_SIZE);
+	req.chan_freq = link_info->chan_freq;
+	req.link_id = link_info->link_id;
+	qdf_copy_macaddr(&req.bssid, &link_info->link_addr);
 
 	req.ssid.length = ssid.length;
 	qdf_mem_copy(&req.ssid.ssid, &ssid.ssid, ssid.length);
@@ -1285,7 +1285,7 @@ mlo_roam_prepare_and_send_link_connect_req(struct wlan_objmgr_vdev *assoc_vdev,
 
 	mlme_info("vdev:%d Connecting to " QDF_SSID_FMT " link_addr: " QDF_MAC_ADDR_FMT " freq %d rsn_caps:0x%x auth_type:0x%x pairwise:0x%x grp:0x%x mcast:0x%x akms:0x%x assoc_ie_len:%d f_rsne:%d is_wps:%d dot11_filter:%d",
 		  req.vdev_id, QDF_SSID_REF(req.ssid.length, req.ssid.ssid),
-		  QDF_MAC_ADDR_REF(link_addr->bytes),
+		  QDF_MAC_ADDR_REF(link_info->link_addr.bytes),
 		  req.chan_freq, req.crypto.rsn_caps, req.crypto.auth_type,
 		  req.crypto.ciphers_pairwise, req.crypto.group_cipher,
 		  req.crypto.mgmt_ciphers, req.crypto.akm_suites,
@@ -1472,10 +1472,8 @@ mlo_roam_link_connect_notify(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id)
 
 		if (mlo_check_connect_req_bmap(link_vdev)) {
 			status = mlo_roam_prepare_and_send_link_connect_req(assoc_vdev,
-							link_vdev,
-							rsp,
-							&partner_info.partner_link_info[i].link_addr,
-							partner_info.partner_link_info[i].chan_freq);
+							link_vdev, rsp,
+							&partner_info.partner_link_info[i]);
 			if (QDF_IS_STATUS_ERROR(status))
 				goto err;
 			else {