Browse Source

qcacld-3.0: Enable legacy connection with 11be enabled

Don't populate the MLO IE in the assoc req in legacy connections.
Don't create the MLO partner peer in legacy connections.

Change-Id: Id34662608a65ba9b85871d328099849c578f1585
CRs-fixed: 3038615
Lincoln Tran 3 years ago
parent
commit
cae4c6106a

+ 5 - 5
core/mac/src/pe/lim/lim_process_mlm_req_messages.c

@@ -405,12 +405,14 @@ void lim_send_peer_create_resp(struct mac_context *mac, uint8_t vdev_id,
 					     (struct qdf_mac_addr *)peer_mac);
 
 #ifdef WLAN_FEATURE_11BE_MLO
+	if (!wlan_vdev_mlme_is_mlo_vdev(vdev))
+		goto end;
+
 	link_id = vdev->vdev_mlme.mlo_link_id;
 	/* currently only 2 link MLO supported */
 	partner_info.num_partner_links = 1;
 	qdf_mem_copy(partner_info.partner_link_info[0].link_addr.bytes,
-		     vdev->vdev_mlme.macaddr,
-		     QDF_MAC_ADDR_SIZE);
+		     vdev->vdev_mlme.macaddr, QDF_MAC_ADDR_SIZE);
 	partner_info.partner_link_info[0].link_id = link_id;
 	pe_debug("link_addr " QDF_MAC_ADDR_FMT,
 		 QDF_MAC_ADDR_REF(
@@ -426,9 +428,7 @@ void lim_send_peer_create_resp(struct mac_context *mac, uint8_t vdev_id,
 		}
 
 		status = wlan_mlo_peer_create(vdev, link_peer,
-					      &partner_info,
-					      NULL,
-					      0);
+					      &partner_info, NULL, 0);
 
 		if (QDF_IS_STATUS_ERROR(status))
 			pe_err("Peer creation failed");

+ 3 - 1
core/mac/src/pe/lim/lim_send_management_frames.c

@@ -2356,7 +2356,9 @@ lim_send_assoc_req_mgmt_frame(struct mac_context *mac_ctx,
 	}
 
 #ifdef WLAN_FEATURE_11BE_MLO
-	populate_dot11f_assoc_req_mlo_ie(mac_ctx, pe_session, frm);
+	if ((wlan_vdev_mlme_get_opmode(pe_session->vdev) == QDF_STA_MODE) &&
+	    wlan_vdev_mlme_is_mlo_vdev(pe_session->vdev))
+		populate_dot11f_assoc_req_mlo_ie(mac_ctx, pe_session, frm);
 #endif
 	if (pe_session->is11Rconnection) {
 		struct bss_description *bssdescr;