[PATCH 1/1] gpu: drm: aspeed: fix value check in aspeed_gfx_load()

Christophe JAILLET christophe.jaillet at wanadoo.fr
Thu Jul 27 17:57:38 UTC 2023


Le 27/07/2023 à 19:03, Yuanjun Gong a écrit :
> in aspeed_gfx_load(), check the return value of clk_prepare_enable()
> and return the error code if clk_prepare_enable() returns an
> unexpected value.
> 
> Fixes: 4f2a8f5898ec ("drm: Add ASPEED GFX driver")
> Signed-off-by: Yuanjun Gong <ruc_gongyuanjun at 163.com>
> ---
>   drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> index c8c7f8215155..3bfa39bc4f7e 100644
> --- a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> +++ b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
> @@ -199,7 +199,11 @@ static int aspeed_gfx_load(struct drm_device *drm)
>   			"missing or invalid clk device tree entry");
>   		return PTR_ERR(priv->clk);
>   	}
> -	clk_prepare_enable(priv->clk);
> +	ret = clk_prepare_enable(priv->clk);
> +	if (ret) {
> +		dev_err(&pdev->dev, "Failed to enable clock\n");
> +		return ret;
> +	}
>   
>   	/* Sanitize control registers */
>   	writel(0, priv->base + CRT_CTRL1);

Hi,

the code also lacks a clk_disable_unprepare() in aspeed_gfx_unload().

So using devm_clk_get_enabled() a few lines above should fix both issue.

CJ


More information about the dri-devel mailing list