]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amdgpu: bail out when failed to load fw in psp_init_cap_microcode()
authorJiang Liu <gerry@linux.alibaba.com>
Fri, 7 Feb 2025 06:28:51 +0000 (14:28 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 13 Feb 2025 00:47:15 +0000 (19:47 -0500)
In function psp_init_cap_microcode(), it should bail out when failed to
load firmware, otherwise it may cause invalid memory access.

Fixes: 07dbfc6b102e ("drm/amd: Use `amdgpu_ucode_*` helpers for PSP")
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index babe94ade24787fabcf5ecdc215e2397db55ad5b..e5fc80ed06eaea285481eff414c31fa6b38f2893 100644 (file)
@@ -3815,9 +3815,10 @@ int psp_init_cap_microcode(struct psp_context *psp, const char *chip_name)
                if (err == -ENODEV) {
                        dev_warn(adev->dev, "cap microcode does not exist, skip\n");
                        err = 0;
-                       goto out;
+               } else {
+                       dev_err(adev->dev, "fail to initialize cap microcode\n");
                }
-               dev_err(adev->dev, "fail to initialize cap microcode\n");
+               goto out;
        }
 
        info = &adev->firmware.ucode[AMDGPU_UCODE_ID_CAP];