Message ID | 20220307075206.10737-1-linmq006@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | media: exynos4-is: Fix PM disable depth imbalance in fimc_is_probe | expand |
On 07/03/2022 08:52, Miaoqian Lin wrote: > If probe fails then we need to call pm_runtime_disable() to balance > out the previous pm_runtime_enable() call. > > Fixes: 9a761e436843 ("[media] exynos4-is: Add Exynos4x12 FIMC-IS driver") > Signed-off-by: Miaoqian Lin <linmq006@gmail.com> > --- > drivers/media/platform/exynos4-is/fimc-is.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Best regards, Krzysztof
>-----Original Message----- >From: Miaoqian Lin [mailto:linmq006@gmail.com] >Sent: Monday, March 7, 2022 1:22 PM >To: Sylwester Nawrocki <s.nawrocki@samsung.com>; Mauro Carvalho >Chehab <mchehab@kernel.org>; Krzysztof Kozlowski ><krzysztof.kozlowski@canonical.com>; Alim Akhtar ><alim.akhtar@samsung.com>; Kyungmin Park ><kyungmin.park@samsung.com>; Younghwan Joo ><yhwan.joo@samsung.com>; linux-media@vger.kernel.org; linux-arm- >kernel@lists.infradead.org; linux-samsung-soc@vger.kernel.org; linux- >kernel@vger.kernel.org >Cc: linmq006@gmail.com >Subject: [PATCH] media: exynos4-is: Fix PM disable depth imbalance in >fimc_is_probe > >If probe fails then we need to call pm_runtime_disable() to balance out the >previous pm_runtime_enable() call. > >Fixes: 9a761e436843 ("[media] exynos4-is: Add Exynos4x12 FIMC-IS driver") >Signed-off-by: Miaoqian Lin <linmq006@gmail.com> >--- Thanks for fixing this Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> > drivers/media/platform/exynos4-is/fimc-is.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > >diff --git a/drivers/media/platform/exynos4-is/fimc-is.c >b/drivers/media/platform/exynos4-is/fimc-is.c >index e55e411038f4..81b290dace3a 100644 >--- a/drivers/media/platform/exynos4-is/fimc-is.c >+++ b/drivers/media/platform/exynos4-is/fimc-is.c >@@ -830,7 +830,7 @@ static int fimc_is_probe(struct platform_device *pdev) > > ret = pm_runtime_resume_and_get(dev); > if (ret < 0) >- goto err_irq; >+ goto err_pm_disable; > > vb2_dma_contig_set_max_seg_size(dev, DMA_BIT_MASK(32)); > >@@ -864,6 +864,8 @@ static int fimc_is_probe(struct platform_device *pdev) > pm_runtime_put_noidle(dev); > if (!pm_runtime_enabled(dev)) > fimc_is_runtime_suspend(dev); >+err_pm_disable: >+ pm_runtime_disable(dev); > err_irq: > free_irq(is->irq, is); > err_clk: >-- >2.17.1
diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c index e55e411038f4..81b290dace3a 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.c +++ b/drivers/media/platform/exynos4-is/fimc-is.c @@ -830,7 +830,7 @@ static int fimc_is_probe(struct platform_device *pdev) ret = pm_runtime_resume_and_get(dev); if (ret < 0) - goto err_irq; + goto err_pm_disable; vb2_dma_contig_set_max_seg_size(dev, DMA_BIT_MASK(32)); @@ -864,6 +864,8 @@ static int fimc_is_probe(struct platform_device *pdev) pm_runtime_put_noidle(dev); if (!pm_runtime_enabled(dev)) fimc_is_runtime_suspend(dev); +err_pm_disable: + pm_runtime_disable(dev); err_irq: free_irq(is->irq, is); err_clk:
If probe fails then we need to call pm_runtime_disable() to balance out the previous pm_runtime_enable() call. Fixes: 9a761e436843 ("[media] exynos4-is: Add Exynos4x12 FIMC-IS driver") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> --- drivers/media/platform/exynos4-is/fimc-is.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)