Re: [PATCH 1/2] [media] exynos-gsc: Fix unbalanced pm_runtime_enable() error
Hello Marek, On 01/19/2017 11:12 AM, Marek Szyprowski wrote: > Hi Javier, > > On 2017-01-18 01:30, Javier Martinez Canillas wrote: >> Commit a006c04e6218 ("[media] exynos-gsc: Fixup clock management at >> ->remove()") changed the driver's .remove function logic to fist do >> a pm_runtime_get_sync() to make sure the device is powered before >> attempting to gate the gsc clock. >> >> But the commit also removed a pm_runtime_disable() call that leads >> to an unbalanced pm_runtime_enable() error if the driver is removed >> and re-probed: >> >> exynos-gsc 13e0.video-scaler: Unbalanced pm_runtime_enable! >> exynos-gsc 13e1.video-scaler: Unbalanced pm_runtime_enable! >> >> Fixes: a006c04e6218 ("[media] exynos-gsc: Fixup clock management at >> ->remove()") >> Signed-off-by: Javier Martinez Canillas> > I must have mixed something during the rebase of the Ulf's patch, because > the original one kept pm_runtime_disable in the right place: > http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/317678.html > > I'm really sorry. > Ah, I see. No worries. > Acked-by: Marek Szyprowski > Thanks a lot for your review. Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America
Re: [PATCH 1/2] [media] exynos-gsc: Fix unbalanced pm_runtime_enable() error
Hello Marek, On 01/19/2017 11:12 AM, Marek Szyprowski wrote: > Hi Javier, > > On 2017-01-18 01:30, Javier Martinez Canillas wrote: >> Commit a006c04e6218 ("[media] exynos-gsc: Fixup clock management at >> ->remove()") changed the driver's .remove function logic to fist do >> a pm_runtime_get_sync() to make sure the device is powered before >> attempting to gate the gsc clock. >> >> But the commit also removed a pm_runtime_disable() call that leads >> to an unbalanced pm_runtime_enable() error if the driver is removed >> and re-probed: >> >> exynos-gsc 13e0.video-scaler: Unbalanced pm_runtime_enable! >> exynos-gsc 13e1.video-scaler: Unbalanced pm_runtime_enable! >> >> Fixes: a006c04e6218 ("[media] exynos-gsc: Fixup clock management at >> ->remove()") >> Signed-off-by: Javier Martinez Canillas > > I must have mixed something during the rebase of the Ulf's patch, because > the original one kept pm_runtime_disable in the right place: > http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/317678.html > > I'm really sorry. > Ah, I see. No worries. > Acked-by: Marek Szyprowski > Thanks a lot for your review. Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America
Re: [PATCH 1/2] [media] exynos-gsc: Fix unbalanced pm_runtime_enable() error
Hi Javier, On 2017-01-18 01:30, Javier Martinez Canillas wrote: Commit a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") changed the driver's .remove function logic to fist do a pm_runtime_get_sync() to make sure the device is powered before attempting to gate the gsc clock. But the commit also removed a pm_runtime_disable() call that leads to an unbalanced pm_runtime_enable() error if the driver is removed and re-probed: exynos-gsc 13e0.video-scaler: Unbalanced pm_runtime_enable! exynos-gsc 13e1.video-scaler: Unbalanced pm_runtime_enable! Fixes: a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") Signed-off-by: Javier Martinez CanillasI must have mixed something during the rebase of the Ulf's patch, because the original one kept pm_runtime_disable in the right place: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/317678.html I'm really sorry. Acked-by: Marek Szyprowski --- drivers/media/platform/exynos-gsc/gsc-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c b/drivers/media/platform/exynos-gsc/gsc-core.c index cbf75b6194b4..83272f10722d 100644 --- a/drivers/media/platform/exynos-gsc/gsc-core.c +++ b/drivers/media/platform/exynos-gsc/gsc-core.c @@ -1118,6 +1118,7 @@ static int gsc_remove(struct platform_device *pdev) clk_disable_unprepare(gsc->clock[i]); pm_runtime_put_noidle(>dev); + pm_runtime_disable(>dev); dev_dbg(>dev, "%s driver unloaded\n", pdev->name); return 0; Best regards -- Marek Szyprowski, PhD Samsung R Institute Poland
Re: [PATCH 1/2] [media] exynos-gsc: Fix unbalanced pm_runtime_enable() error
Hi Javier, On 2017-01-18 01:30, Javier Martinez Canillas wrote: Commit a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") changed the driver's .remove function logic to fist do a pm_runtime_get_sync() to make sure the device is powered before attempting to gate the gsc clock. But the commit also removed a pm_runtime_disable() call that leads to an unbalanced pm_runtime_enable() error if the driver is removed and re-probed: exynos-gsc 13e0.video-scaler: Unbalanced pm_runtime_enable! exynos-gsc 13e1.video-scaler: Unbalanced pm_runtime_enable! Fixes: a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") Signed-off-by: Javier Martinez Canillas I must have mixed something during the rebase of the Ulf's patch, because the original one kept pm_runtime_disable in the right place: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/317678.html I'm really sorry. Acked-by: Marek Szyprowski --- drivers/media/platform/exynos-gsc/gsc-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c b/drivers/media/platform/exynos-gsc/gsc-core.c index cbf75b6194b4..83272f10722d 100644 --- a/drivers/media/platform/exynos-gsc/gsc-core.c +++ b/drivers/media/platform/exynos-gsc/gsc-core.c @@ -1118,6 +1118,7 @@ static int gsc_remove(struct platform_device *pdev) clk_disable_unprepare(gsc->clock[i]); pm_runtime_put_noidle(>dev); + pm_runtime_disable(>dev); dev_dbg(>dev, "%s driver unloaded\n", pdev->name); return 0; Best regards -- Marek Szyprowski, PhD Samsung R Institute Poland
[PATCH 1/2] [media] exynos-gsc: Fix unbalanced pm_runtime_enable() error
Commit a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") changed the driver's .remove function logic to fist do a pm_runtime_get_sync() to make sure the device is powered before attempting to gate the gsc clock. But the commit also removed a pm_runtime_disable() call that leads to an unbalanced pm_runtime_enable() error if the driver is removed and re-probed: exynos-gsc 13e0.video-scaler: Unbalanced pm_runtime_enable! exynos-gsc 13e1.video-scaler: Unbalanced pm_runtime_enable! Fixes: a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") Signed-off-by: Javier Martinez Canillas--- drivers/media/platform/exynos-gsc/gsc-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c b/drivers/media/platform/exynos-gsc/gsc-core.c index cbf75b6194b4..83272f10722d 100644 --- a/drivers/media/platform/exynos-gsc/gsc-core.c +++ b/drivers/media/platform/exynos-gsc/gsc-core.c @@ -1118,6 +1118,7 @@ static int gsc_remove(struct platform_device *pdev) clk_disable_unprepare(gsc->clock[i]); pm_runtime_put_noidle(>dev); + pm_runtime_disable(>dev); dev_dbg(>dev, "%s driver unloaded\n", pdev->name); return 0; -- 2.7.4
[PATCH 1/2] [media] exynos-gsc: Fix unbalanced pm_runtime_enable() error
Commit a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") changed the driver's .remove function logic to fist do a pm_runtime_get_sync() to make sure the device is powered before attempting to gate the gsc clock. But the commit also removed a pm_runtime_disable() call that leads to an unbalanced pm_runtime_enable() error if the driver is removed and re-probed: exynos-gsc 13e0.video-scaler: Unbalanced pm_runtime_enable! exynos-gsc 13e1.video-scaler: Unbalanced pm_runtime_enable! Fixes: a006c04e6218 ("[media] exynos-gsc: Fixup clock management at ->remove()") Signed-off-by: Javier Martinez Canillas --- drivers/media/platform/exynos-gsc/gsc-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c b/drivers/media/platform/exynos-gsc/gsc-core.c index cbf75b6194b4..83272f10722d 100644 --- a/drivers/media/platform/exynos-gsc/gsc-core.c +++ b/drivers/media/platform/exynos-gsc/gsc-core.c @@ -1118,6 +1118,7 @@ static int gsc_remove(struct platform_device *pdev) clk_disable_unprepare(gsc->clock[i]); pm_runtime_put_noidle(>dev); + pm_runtime_disable(>dev); dev_dbg(>dev, "%s driver unloaded\n", pdev->name); return 0; -- 2.7.4