aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
diff options
context:
space:
mode:
authorGuchun Chen <guchun.chen@amd.com>2022-09-02 14:08:55 +0800
committerAlex Deucher <alexander.deucher@amd.com>2022-09-07 22:28:42 -0400
commit096e33f8ce4f4c82035edb532e8cb0883831e14b (patch)
tree08b35652372ec4e9ca83d40089c9f469c09b2fc0 /drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
parentdrm/amdgpu: correct doorbell range/size value for CSDMA_DOORBELL_RANGE (diff)
downloadlinux-dev-096e33f8ce4f4c82035edb532e8cb0883831e14b.tar.xz
linux-dev-096e33f8ce4f4c82035edb532e8cb0883831e14b.zip
drm/amdgpu: prevent toc firmware memory leak
It's missed in psp fini. Signed-off-by: Guchun Chen <guchun.chen@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 28ca0a94b8a5..cfcaf890a6a1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -496,11 +496,14 @@ static int psp_sw_fini(void *handle)
release_firmware(psp->ta_fw);
psp->ta_fw = NULL;
}
- if (adev->psp.cap_fw) {
+ if (psp->cap_fw) {
release_firmware(psp->cap_fw);
psp->cap_fw = NULL;
}
-
+ if (psp->toc_fw) {
+ release_firmware(psp->toc_fw);
+ psp->toc_fw = NULL;
+ }
if (adev->ip_versions[MP0_HWIP][0] == IP_VERSION(11, 0, 0) ||
adev->ip_versions[MP0_HWIP][0] == IP_VERSION(11, 0, 7))
psp_sysfs_fini(adev);