diff mbox series

video: ep93xx: Add missing clk_disable_unprepare in ep93xxfb_probe()

Message ID 20221123092943.2259585-1-cuigaosheng1@huawei.com
State New
Headers show
Series video: ep93xx: Add missing clk_disable_unprepare in ep93xxfb_probe() | expand

Commit Message

Gaosheng Cui Nov. 23, 2022, 9:29 a.m. UTC
The clk_disable_unprepare() should be called in the error handling
of register_framebuffer(), fix it.

Fixes: 0937a7b3625d ("video: ep93xx: Prepare clock before using it")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
---
 drivers/video/fbdev/ep93xx-fb.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Helge Deller Nov. 23, 2022, 10:07 a.m. UTC | #1
On 11/23/22 10:29, Gaosheng Cui wrote:
> The clk_disable_unprepare() should be called in the error handling
> of register_framebuffer(), fix it.
>
> Fixes: 0937a7b3625d ("video: ep93xx: Prepare clock before using it")
> Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>

applied.

Thanks!
Helge

> ---
>   drivers/video/fbdev/ep93xx-fb.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/video/fbdev/ep93xx-fb.c b/drivers/video/fbdev/ep93xx-fb.c
> index 2398b3d48fed..305f1587bd89 100644
> --- a/drivers/video/fbdev/ep93xx-fb.c
> +++ b/drivers/video/fbdev/ep93xx-fb.c
> @@ -552,12 +552,14 @@ static int ep93xxfb_probe(struct platform_device *pdev)
>
>   	err = register_framebuffer(info);
>   	if (err)
> -		goto failed_check;
> +		goto failed_framebuffer;
>
>   	dev_info(info->dev, "registered. Mode = %dx%d-%d\n",
>   		 info->var.xres, info->var.yres, info->var.bits_per_pixel);
>   	return 0;
>
> +failed_framebuffer:
> +	clk_disable_unprepare(fbi->clk);
>   failed_check:
>   	if (fbi->mach_info->teardown)
>   		fbi->mach_info->teardown(pdev);
diff mbox series

Patch

diff --git a/drivers/video/fbdev/ep93xx-fb.c b/drivers/video/fbdev/ep93xx-fb.c
index 2398b3d48fed..305f1587bd89 100644
--- a/drivers/video/fbdev/ep93xx-fb.c
+++ b/drivers/video/fbdev/ep93xx-fb.c
@@ -552,12 +552,14 @@  static int ep93xxfb_probe(struct platform_device *pdev)
 
 	err = register_framebuffer(info);
 	if (err)
-		goto failed_check;
+		goto failed_framebuffer;
 
 	dev_info(info->dev, "registered. Mode = %dx%d-%d\n",
 		 info->var.xres, info->var.yres, info->var.bits_per_pixel);
 	return 0;
 
+failed_framebuffer:
+	clk_disable_unprepare(fbi->clk);
 failed_check:
 	if (fbi->mach_info->teardown)
 		fbi->mach_info->teardown(pdev);