浏览代码

qcacmn: Fix legacy connection when the 11be feature is enabled

Add the following fixes:
-Don't update the SA in mgmt frames when vdev is not operating as
 STA
-Set the MLO vdev capability when setting the link address. In
 case of non ML connection, this bit should not be set.

Change-Id: I23f8fb8d43afbed687f619c7029893a7d09696d2
CRs-fixed: 3038626
Lincoln Tran 3 年之前
父节点
当前提交
9f659010f4
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      umac/mlme/connection_mgr/core/src/wlan_cm_connect.c

+ 7 - 0
umac/mlme/connection_mgr/core/src/wlan_cm_connect.c

@@ -462,15 +462,22 @@ void cm_set_vdev_link_id(struct cnx_mgr *cm_ctx,
 static void cm_update_vdev_mlme_macaddr(struct cnx_mgr *cm_ctx,
 					struct cm_connect_req *req)
 {
+	if (wlan_vdev_mlme_get_opmode(cm_ctx->vdev) != QDF_STA_MODE)
+		return;
+
 	wlan_vdev_obj_lock(cm_ctx->vdev);
 	if (req->cur_candidate->entry->ie_list.multi_link) {
 		/* Use link address for ML connection */
 		wlan_vdev_mlme_set_macaddr(cm_ctx->vdev,
 					   cm_ctx->vdev->vdev_mlme.linkaddr);
+		wlan_vdev_mlme_feat_ext2_cap_set(cm_ctx->vdev,
+						 WLAN_VDEV_FEXT2_MLO);
+		mlme_debug("set link address for ML connection");
 	} else {
 		/* Use net_dev address for non-ML connection */
 		wlan_vdev_mlme_set_macaddr(cm_ctx->vdev,
 					   cm_ctx->vdev->vdev_mlme.mldaddr);
+		mlme_debug("set net_dev address for non-ML connection");
 	}
 	wlan_vdev_obj_unlock(cm_ctx->vdev);
 }