]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: invoke pm_genpd_remove() before freeing genpd
authorCe Sun <cesun102@amd.com>
Mon, 22 Jun 2026 14:58:16 +0000 (22:58 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2026 17:00:26 +0000 (13:00 -0400)
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>
(cherry picked from commit cd8650d7a91ee8b768e202354672553faa5cc1f2)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c

index f04b2d63c59a7420e04b3bfaf12418b2209067a4..9014678d75abff8d77d86173866af8b999f82b5d 100644 (file)
@@ -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;