]> Pileus Git - ~andy/linux/blobdiff - drivers/media/platform/exynos4-is/fimc-lite.c
[media] exynos4-is: Fix error paths in probe() for !pm_runtime_enabled()
[~andy/linux] / drivers / media / platform / exynos4-is / fimc-lite.c
index 1234734bccf4d3943d047e53a2f54347d73c58c0..5213ff03d28aed2f96f18027723222141db883bc 100644 (file)
@@ -1563,7 +1563,7 @@ static int fimc_lite_probe(struct platform_device *pdev)
        if (!pm_runtime_enabled(dev)) {
                ret = clk_enable(fimc->clock);
                if (ret < 0)
-                       goto err_clk_put;
+                       goto err_sd;
        }
 
        fimc->alloc_ctx = vb2_dma_contig_init_ctx(dev);
@@ -1579,7 +1579,8 @@ static int fimc_lite_probe(struct platform_device *pdev)
        return 0;
 
 err_clk_dis:
-       clk_disable(fimc->clock);
+       if (!pm_runtime_enabled(dev))
+               clk_disable(fimc->clock);
 err_sd:
        fimc_lite_unregister_capture_subdev(fimc);
 err_clk_put: