[PATCH] drm/amdgpu: Fix 'adev->gfx.rlc_fw' from request_firmware() not released in 'gfx_v10_0_init_microcode()'

Lazar, Lijo lijo.lazar at amd.com
Tue Jan 23 08:21:51 UTC 2024



On 1/23/2024 1:38 PM, Srinivasan Shanmugam wrote:
> '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.
> 

The release is done through this call -
amdgpu_ucode_release(&adev->gfx.rlc_fw);

Needs some other way to suppress the warning.

Thanks,
Lijo

> Fixes: 1797ec7ffd1b ("drm/amdgpu: skip rlc ucode loading for SRIOV gfx10")
> Cc: Monk Liu <Monk.Liu at amd.com>
> Cc: Lijo Lazar <lijo.lazar at amd.com>
> Cc: Hawking Zhang <Hawking.Zhang at amd.com>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
> ---
>  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;


More information about the amd-gfx mailing list