media: exynos4-is: Fix PM disable depth imbalance in fimc_is_probe
[ Upstream commit 5c0db68ce0faeb000c3540d095eb272d671a6e03 ]
If probe fails then we need to call pm_runtime_disable() to balance
out the previous pm_runtime_enable() call.
Fixes: 9a761e4368
("[media] exynos4-is: Add Exynos4x12 FIMC-IS driver")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
0572a5bd38
commit
8e4e0c4ac5
@@ -830,7 +830,7 @@ static int fimc_is_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
ret = pm_runtime_resume_and_get(dev);
|
ret = pm_runtime_resume_and_get(dev);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto err_irq;
|
goto err_pm_disable;
|
||||||
|
|
||||||
vb2_dma_contig_set_max_seg_size(dev, DMA_BIT_MASK(32));
|
vb2_dma_contig_set_max_seg_size(dev, DMA_BIT_MASK(32));
|
||||||
|
|
||||||
@@ -864,6 +864,8 @@ err_pm:
|
|||||||
pm_runtime_put_noidle(dev);
|
pm_runtime_put_noidle(dev);
|
||||||
if (!pm_runtime_enabled(dev))
|
if (!pm_runtime_enabled(dev))
|
||||||
fimc_is_runtime_suspend(dev);
|
fimc_is_runtime_suspend(dev);
|
||||||
|
err_pm_disable:
|
||||||
|
pm_runtime_disable(dev);
|
||||||
err_irq:
|
err_irq:
|
||||||
free_irq(is->irq, is);
|
free_irq(is->irq, is);
|
||||||
err_clk:
|
err_clk:
|
||||||
|
Reference in New Issue
Block a user