[PATCH v2] drm/amdgpu: Fix '*fw' from request_firmware() not released in 'amdgpu_ucode_request()'

Christian König christian.koenig at amd.com
Thu Jan 4 09:35:36 UTC 2024



Am 04.01.24 um 10:26 schrieb Srinivasan Shanmugam:
> Fixes the below:
> drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c:1404 amdgpu_ucode_request() warn: '*fw' from request_firmware() not released on lines: 1404.
>
> Cc: Mario Limonciello <mario.limonciello at amd.com>
> Cc: Lijo Lazar <lijo.lazar 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>
> ---
> v2:
>     - Fix some indendations.
>     - release the fw only when ucode validate fails.
>
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> index 1f67914568f6..d30c39cd8bb8 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> @@ -1395,12 +1395,15 @@ int amdgpu_ucode_request(struct amdgpu_device *adev, const struct firmware **fw,
>   			 const char *fw_name)
>   {
>   	int err = request_firmware(fw, fw_name, adev->dev);
> -

Please keep the empty line between declaration and code.

Apart from that feel free to add my rb to the patch.

Regards,
Christian.

>   	if (err)
>   		return -ENODEV;
> +
>   	err = amdgpu_ucode_validate(*fw);
> -	if (err)
> +	if (err) {
>   		dev_dbg(adev->dev, "\"%s\" failed to validate\n", fw_name);
> +		release_firmware(*fw);
> +		*fw = NULL;
> +	}
>   
>   	return err;
>   }



More information about the amd-gfx mailing list