瀏覽代碼

qcacld-3.0: Update VDEV MAC address for non-ML adapter as well

Currently when 11BE feature is enabled, VDEV MAC address is being
updated for link adapters of the ML adapter. But in ML STA + legacy
STA concurrency case, VDEV MAC address is not being updated for
legacy STA adapter. This is because legacy STA doesn't have link
adapters.

To resolve this, Update VDEV MAC address for non-ML adapters as well.

Change-Id: I681f879f47bc0f9c50ee7fb51f2742544e116cf7
CRs-Fixed: 3138464
Bapiraju Alla 3 年之前
父節點
當前提交
8c9f44fdec
共有 1 個文件被更改,包括 15 次插入10 次删除
  1. 15 10
      core/hdd/src/wlan_hdd_mlo.c

+ 15 - 10
core/hdd/src/wlan_hdd_mlo.c

@@ -329,17 +329,22 @@ int hdd_update_vdev_mac_address(struct hdd_context *hdd_ctx,
 	struct hdd_mlo_adapter_info *mlo_adapter_info;
 	struct hdd_adapter *link_adapter;
 
-	mlo_adapter_info = &adapter->mlo_adapter_info;
-
-	for (i = 0; i < WLAN_MAX_MLD; i++) {
-		link_adapter = mlo_adapter_info->link_adapter[i];
-		if (!link_adapter)
-			continue;
-		ret = hdd_dynamic_mac_address_set(hdd_ctx, link_adapter,
-						  mac_addr);
-		if (ret)
-			return ret;
+	if (hdd_adapter_is_ml_adapter(adapter)) {
+		mlo_adapter_info = &adapter->mlo_adapter_info;
+
+		for (i = 0; i < WLAN_MAX_MLD; i++) {
+			link_adapter = mlo_adapter_info->link_adapter[i];
+			if (!link_adapter)
+				continue;
+			ret = hdd_dynamic_mac_address_set(hdd_ctx, link_adapter,
+							  mac_addr);
+			if (ret)
+				return ret;
+		}
+	} else {
+		ret = hdd_dynamic_mac_address_set(hdd_ctx, adapter, mac_addr);
 	}
+
 	return ret;
 }
 #endif