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 <cuigaoshe...@huawei.com>
---
 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);
-- 
2.25.1

Reply via email to