'adev->gfx.rlc_fw' may not be released before end of
gfx_v10_0_init_microcode() function.
Using the function release_firmware() to release adev->gfx.rlc_fw.
Fixes the below:
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c:4046 gfx_v10_0_init_microcode() warn:
'adev->gfx.rlc_fw' from request_firmware() not released on lines: 4046.
Fixes: 1797ec7ffd1b ("drm/amdgpu: skip rlc ucode loading for SRIOV gfx10")
Cc: Monk Liu <[email protected]>
Cc: Lijo Lazar <[email protected]>
Cc: Hawking Zhang <[email protected]>
Cc: Christian König <[email protected]>
Cc: Alex Deucher <[email protected]>
Signed-off-by: Srinivasan Shanmugam <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
index 420c82b54650..ce76fbcc2602 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
@@ -4006,6 +4006,7 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device
*adev)
rlc_hdr = (const struct rlc_firmware_header_v2_0
*)adev->gfx.rlc_fw->data;
version_major =
le16_to_cpu(rlc_hdr->header.header_version_major);
version_minor =
le16_to_cpu(rlc_hdr->header.header_version_minor);
+ release_firmware(adev->gfx.rlc_fw);
err = amdgpu_gfx_rlc_init_microcode(adev, version_major,
version_minor);
if (err)
goto out;
--
2.34.1