Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b34f51fa authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Mauro Carvalho Chehab
Browse files

[media] exynos4-is: Fix runtime PM handling on fimc-is probe error path



Ensure there is no unbalanced pm_runtime_put().

Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 0e30c7e1
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -847,16 +847,17 @@ static int fimc_is_probe(struct platform_device *pdev)
		goto err_irq;

	ret = fimc_is_setup_clocks(is);
	pm_runtime_put_sync(dev);

	if (ret < 0)
		goto err_irq;

	pm_runtime_put_sync(dev);
	is->clk_init = true;

	is->alloc_ctx = vb2_dma_contig_init_ctx(dev);
	if (IS_ERR(is->alloc_ctx)) {
		ret = PTR_ERR(is->alloc_ctx);
		goto err_pm;
		goto err_irq;
	}
	/*
	 * Register FIMC-IS V4L2 subdevs to this driver. The video nodes
@@ -885,8 +886,6 @@ static int fimc_is_probe(struct platform_device *pdev)
	fimc_is_unregister_subdevs(is);
err_irq:
	free_irq(is->irq, is);
err_pm:
	pm_runtime_put(dev);
err_clk:
	fimc_is_put_clocks(is);
	return ret;