瀏覽代碼

qcacmn: Populate mlo_link_add in VDEV_START WMI command

When a VDEV is dynamically getting added to an MLD,
WLAN_VDEV_OP_MLO_LINK_ADD op flag will be set on that VDEV during its
start_ap() sequence. Use that flag to update the mlo_link_add flag in
the VDEV_START WMI command.

CRs-Fixed: 3352057
Change-Id: Ie83a15f47d5cb4e54af410ebb68567694f38ccc7
Shiva Krishna Pittala 2 年之前
父節點
當前提交
06d17f4e3d

+ 4 - 0
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c

@@ -332,6 +332,10 @@ vdev_mgr_start_param_update_mlo(struct vdev_mlme_obj *mlme_obj,
 	}
 
 	if (wlan_vdev_mlme_get_opmode(vdev) == QDF_SAP_MODE) {
+		if (wlan_vdev_mlme_op_flags_get(
+			vdev, WLAN_VDEV_OP_MLO_LINK_ADD))
+			param->mlo_flags.mlo_link_add  = 1;
+
 		vdev_mgr_start_param_update_mlo_mcast(vdev, param);
 		vdev_mgr_start_param_update_mlo_partner(vdev, param);
 	}

+ 3 - 1
umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h

@@ -576,13 +576,15 @@ struct vdev_scan_nac_rssi_params {
  *                  the association of mlo connection
  * @mlo_mcast_vdev: MLO cast vdev
  * @emlsr_support: indicate non AP MLD STA supports eMLSR mode
+ * @mlo_link_add: Dynamic link addition
  */
 struct mlo_vdev_start_flags {
 	uint32_t mlo_enabled:1,
 		 mlo_assoc_link:1,
 		 mlo_mcast_vdev:1,
 		 emlsr_support:1,
-		 rsvd:28;
+		 mlo_link_add:1,
+		 rsvd:27;
 };
 
 /**

+ 2 - 0
wmi/src/wmi_unified_11be_tlv.c

@@ -101,6 +101,8 @@ uint8_t *vdev_start_add_mlo_params(uint8_t *buf_ptr,
 				  req->mlo_flags.mlo_enabled);
 	WMI_MLO_FLAGS_SET_ASSOC_LINK(mlo_params->mlo_flags.mlo_flags,
 				     req->mlo_flags.mlo_assoc_link);
+	WMI_MLO_FLAGS_SET_LINK_ADD(mlo_params->mlo_flags.mlo_flags,
+				   req->mlo_flags.mlo_link_add);
 	mlo_params->mlo_flags.emlsr_support = req->mlo_flags.emlsr_support;
 
 	vdev_start_add_mlo_mcast_params(&mlo_params->mlo_flags.mlo_flags,