瀏覽代碼

qcacld-3.0: Notify DP on VDEV dynamic MAC update

As part of dynamic MAC address update for VDEV, notify DP
component to update corresponding DP link's MAC address.
Upon successful VDEV objmgr update, call DP ucfg API.

Change-Id: Idbfb592b8b8aa55875071473411ecf30e92bc3c2
CRs-Fixed: 3549319
Vinod Kumar Pirla 1 年之前
父節點
當前提交
5c9b83bdd0
共有 1 個文件被更改,包括 9 次插入5 次删除
  1. 9 5
      core/hdd/src/wlan_hdd_main.c

+ 9 - 5
core/hdd/src/wlan_hdd_main.c

@@ -5766,13 +5766,16 @@ int hdd_dynamic_mac_address_set(struct wlan_hdd_link_info *link_info,
 status_ret:
 	status = ucfg_vdev_mgr_cdp_vdev_attach(vdev);
 	if (QDF_IS_STATUS_ERROR(status)) {
-		hdd_allow_suspend(
-			WIFI_POWER_EVENT_WAKELOCK_DYN_MAC_ADDR_UPDATE);
-		qdf_runtime_pm_allow_suspend(
-				&hdd_ctx->runtime_context.dyn_mac_addr_update);
 		hdd_err("Failed to attach CDP vdev. status:%d", status);
 		ret = qdf_status_to_os_return(status);
-		goto vdev_ref;
+		goto allow_suspend;
+	} else if (!ret) {
+		status = ucfg_dp_update_link_mac_addr(vdev, &mac_addr, false);
+		if (QDF_IS_STATUS_ERROR(status)) {
+			ret = qdf_status_to_os_return(status);
+			hdd_err("DP link MAC update failed");
+			goto allow_suspend;
+		}
 	}
 	sme_vdev_set_data_tx_callback(vdev);
 
@@ -5780,6 +5783,7 @@ status_ret:
 	ucfg_pmo_del_wow_pattern(vdev);
 	ucfg_pmo_register_wow_default_patterns(vdev);
 
+allow_suspend:
 	hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_DYN_MAC_ADDR_UPDATE);
 	qdf_runtime_pm_allow_suspend(
 			&hdd_ctx->runtime_context.dyn_mac_addr_update);