summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCe Sun <cesun102@amd.com>2026-06-22 22:58:16 +0800
committerAlex Deucher <alexander.deucher@amd.com>2026-07-01 11:22:16 -0400
commitcd8650d7a91ee8b768e202354672553faa5cc1f2 (patch)
tree3ed3fa20f01001da7c6fd0d551b007d34ed92e61
parent98073e4328d7a8d75d03696ab27f6de70ef1aeda (diff)
downloadlinux-stable-cd8650d7a91ee8b768e202354672553faa5cc1f2.tar.gz
linux-stable-cd8650d7a91ee8b768e202354672553faa5cc1f2.zip
drm/amdgpu: invoke pm_genpd_remove() before freeing genpd
Call pm_genpd_remove() to unregister from global list prior to releasing acp_genpd memory, and clear the pointer after free. Signed-off-by: Ce Sun <cesun102@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
index f04b2d63c59a..9014678d75ab 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
@@ -560,7 +560,9 @@ out:
mfd_remove_devices(adev->acp.parent);
kfree(adev->acp.i2s_pdata);
kfree(adev->acp.acp_res);
+ pm_genpd_remove(&adev->acp.acp_genpd->gpd);
kfree(adev->acp.acp_genpd);
+ adev->acp.acp_genpd = NULL;
kfree(adev->acp.acp_cell);
return ret;