]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu/gfx12: correct cleanup of 'me' field with gfx_v12_0_me_fini()
authorWentao Liang <vulab@iscas.ac.cn>
Wed, 12 Mar 2025 06:31:06 +0000 (14:31 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Mar 2025 21:04:57 +0000 (22:04 +0100)
commit 86730b5261d4d8dae3f5b97709d40d694ecf1ddf upstream.

In gfx_v12_0_cp_gfx_load_me_microcode_rs64(), gfx_v12_0_pfp_fini() is
incorrectly used to free 'me' field of 'gfx', since gfx_v12_0_pfp_fini()
can only release 'pfp' field of 'gfx'. The release function of 'me' field
should be gfx_v12_0_me_fini().

Fixes: 52cb80c12e8a ("drm/amdgpu: Add gfx v12_0 ip block support (v6)")
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit ebdc52607a46cda08972888178c6aa9cd6965141)
Cc: stable@vger.kernel.org # 6.12.x
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c

index 5b50e07ba4c7d8398b5ef65f74cbd1b6ffbafb05..d4218e9e43b56b419f528c996bf34a6731c4a80c 100644 (file)
@@ -2413,7 +2413,7 @@ static int gfx_v12_0_cp_gfx_load_me_microcode_rs64(struct amdgpu_device *adev)
                                      (void **)&adev->gfx.me.me_fw_data_ptr);
        if (r) {
                dev_err(adev->dev, "(%d) failed to create me data bo\n", r);
-               gfx_v12_0_pfp_fini(adev);
+               gfx_v12_0_me_fini(adev);
                return r;
        }