[PATCH] drm/amdgpu: Release memory when psp sw_init is failed

Paul Menzel pmenzel at molgen.mpg.de
Mon Apr 11 12:50:02 UTC 2022


Dear Ma,


Thank you for your patch.

Am 11.04.22 um 14:42 schrieb Ma Jun:
> Release the memory (psp->cmd) when psp initialization is
> failed in psp_sw_init

s/is failed/fails/

Period/full stop at the end of sentences, and it still fits into 75 
characters per line.

Next time you could also add one simple statement like:

Add new label `failure` to jump to in case of the failure.

> Signed-off-by: Ma Jun <Jun.Ma2 at amd.com>
> Change-Id: I2f88b5919142d55dd7d3820a7da94823286db235

Without the URL of the Gerrit instance, the Change-Id is not of much use.

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index a6acec1a6155..1227dc014c80 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -305,9 +305,10 @@ static int psp_sw_init(void *handle)
>   		ret = psp_init_sriov_microcode(psp);
>   	else
>   		ret = psp_init_microcode(psp);
> +

Unrelated.

>   	if (ret) {
>   		DRM_ERROR("Failed to load psp firmware!\n");
> -		return ret;
> +		goto failure;
>   	}
>   
>   	adev->psp.xgmi_context.supports_extended_data =
> @@ -339,25 +340,27 @@ static int psp_sw_init(void *handle)
>   		ret = psp_memory_training_init(psp);
>   		if (ret) {
>   			DRM_ERROR("Failed to initialize memory training!\n");
> -			return ret;
> +			goto failure;
>   		}
>   
>   		ret = psp_mem_training(psp, PSP_MEM_TRAIN_COLD_BOOT);
>   		if (ret) {
>   			DRM_ERROR("Failed to process memory training!\n");
> -			return ret;
> +			goto failure;
>   		}
>   	}
>   
>   	if (adev->ip_versions[MP0_HWIP][0] == IP_VERSION(11, 0, 0) ||
>   	    adev->ip_versions[MP0_HWIP][0] == IP_VERSION(11, 0, 7)) {
>   		ret= psp_sysfs_init(adev);
> -		if (ret) {
> -			return ret;
> -		}
> +		if (ret)
> +			goto failure;
>   	}
>   
>   	return 0;
> +failure:
> +	kfree(psp->cmd);
> +	return ret;
>   }
>   
>   static int psp_sw_fini(void *handle)

Acked-by: Paul Menzel <pmenzel at molgen.mpg.de>


Kind regards,

Paul


More information about the amd-gfx mailing list