Browse Source

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 năm trước cách đây
mục cha
commit
5c9b83bdd0
1 tập tin đã thay đổi với 9 bổ sung5 xóa
  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);