Commit a0a455b4 authored by Jiang Liu's avatar Jiang Liu Committed by Alex Deucher
Browse files

drm/amdgpu: bail out when failed to load fw in psp_init_cap_microcode()



In function psp_init_cap_microcode(), it should bail out when failed to
load firmware, otherwise it may cause invalid memory access.

Fixes: 07dbfc6b ("drm/amd: Use `amdgpu_ucode_*` helpers for PSP")
Reviewed-by: default avatarLijo Lazar <lijo.lazar@amd.com>
Signed-off-by: default avatarJiang Liu <gerry@linux.alibaba.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent a33f7f96
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -3815,10 +3815,11 @@ 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");
		}
		goto out;
	}

	info = &adev->firmware.ucode[AMDGPU_UCODE_ID_CAP];
	info->ucode_id = AMDGPU_UCODE_ID_CAP;