* [PATCH] drm/exynos: fix ref count leak in mic_pre_enable
@ 2020-06-14 6:23 ` Navid Emamdoost
2020-06-15 0:52 ` Inki Dae
0 siblings, 1 reply; 5+ messages in thread
From: Navid Emamdoost @ 2020-06-14 6:23 UTC (permalink / raw)
To: Inki Dae, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park,
David Airlie, Daniel Vetter, Kukjin Kim, Krzysztof Kozlowski,
dri-devel, linux-arm-kernel, linux-samsung-soc, linux-kernel
Cc: Navid Emamdoost, emamd001, kjlu, wu000273, smccaman
in mic_pre_enable, pm_runtime_get_sync is called which
increments the counter even in case of failure, leading to incorrect
ref count. In case of failure, decrement the ref count before returning.
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
---
drivers/gpu/drm/exynos/exynos_drm_mic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index a86abc173605..69ff74c2ceb5 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -270,7 +270,7 @@ static void mic_pre_enable(struct drm_bridge *bridge)
ret = pm_runtime_get_sync(mic->dev);
if (ret < 0)
- goto unlock;
+ goto turn_off;
mic_set_path(mic, 1);
--
2.17.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/exynos: fix ref count leak in mic_pre_enable
2020-06-14 6:23 ` [PATCH] drm/exynos: fix ref count leak in mic_pre_enable Navid Emamdoost
@ 2020-06-15 0:52 ` Inki Dae
2020-06-15 5:49 ` [PATCH v2] " Navid Emamdoost
2020-06-15 5:50 ` [PATCH] " Navid Emamdoost
0 siblings, 2 replies; 5+ messages in thread
From: Inki Dae @ 2020-06-15 0:52 UTC (permalink / raw)
To: Navid Emamdoost, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park,
David Airlie, Daniel Vetter, Kukjin Kim, Krzysztof Kozlowski,
dri-devel, linux-arm-kernel, linux-samsung-soc, linux-kernel
Cc: emamd001, kjlu, wu000273, smccaman
Hi,
20. 6. 14. 오후 3:23에 Navid Emamdoost 이(가) 쓴 글:
> in mic_pre_enable, pm_runtime_get_sync is called which
> increments the counter even in case of failure, leading to incorrect
> ref count. In case of failure, decrement the ref count before returning.
>
> Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
> ---
> drivers/gpu/drm/exynos/exynos_drm_mic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> index a86abc173605..69ff74c2ceb5 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> @@ -270,7 +270,7 @@ static void mic_pre_enable(struct drm_bridge *bridge)
>
> ret = pm_runtime_get_sync(mic->dev);
> if (ret < 0)
> - goto unlock;
> + goto turn_off;
How about just calling pm_runtime_put_noidle()?
if (ret < 0) {
pm_runtime_put_noidle(mic->dev);
goto unlock;
}
Thanks,
Inki Dae
>
> mic_set_path(mic, 1);
>
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] drm/exynos: fix ref count leak in mic_pre_enable
2020-06-15 0:52 ` Inki Dae
@ 2020-06-15 5:49 ` Navid Emamdoost
2020-06-16 1:13 ` Inki Dae
2020-06-15 5:50 ` [PATCH] " Navid Emamdoost
1 sibling, 1 reply; 5+ messages in thread
From: Navid Emamdoost @ 2020-06-15 5:49 UTC (permalink / raw)
To: Inki Dae, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park,
David Airlie, Daniel Vetter, Kukjin Kim, Krzysztof Kozlowski,
dri-devel, linux-arm-kernel, linux-samsung-soc, linux-kernel
Cc: mccamant, emamd001, kjlu, wu000273, Navid Emamdoost
in mic_pre_enable, pm_runtime_get_sync is called which
increments the counter even in case of failure, leading to incorrect
ref count. In case of failure, decrement the ref count before returning.
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
---
Changes in v2:
- reuse the unlock label and call pm_runtime_put_noidle
---
---
drivers/gpu/drm/exynos/exynos_drm_mic.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index a86abc173605..3821ea76a703 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -269,8 +269,10 @@ static void mic_pre_enable(struct drm_bridge *bridge)
goto unlock;
ret = pm_runtime_get_sync(mic->dev);
- if (ret < 0)
+ if (ret < 0) {
+ pm_runtime_put_noidle(mic->dev);
goto unlock;
+ }
mic_set_path(mic, 1);
--
2.17.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/exynos: fix ref count leak in mic_pre_enable
2020-06-15 0:52 ` Inki Dae
2020-06-15 5:49 ` [PATCH v2] " Navid Emamdoost
@ 2020-06-15 5:50 ` Navid Emamdoost
1 sibling, 0 replies; 5+ messages in thread
From: Navid Emamdoost @ 2020-06-15 5:50 UTC (permalink / raw)
To: Inki Dae
Cc: linux-samsung-soc, Joonyoung Shim, Qiushi Wu, David Airlie,
Kangjie Lu, Seung-Woo Kim, LKML, Krzysztof Kozlowski,
Kyungmin Park, Kukjin Kim, dri-devel, Stephen McCamant,
linux-arm-kernel, Navid Emamdoost
On Sun, Jun 14, 2020 at 7:47 PM Inki Dae <inki.dae@samsung.com> wrote:
>
> Hi,
>
> 20. 6. 14. 오후 3:23에 Navid Emamdoost 이(가) 쓴 글:
> > in mic_pre_enable, pm_runtime_get_sync is called which
> > increments the counter even in case of failure, leading to incorrect
> > ref count. In case of failure, decrement the ref count before returning.
> >
> > Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
> > ---
> > drivers/gpu/drm/exynos/exynos_drm_mic.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> > index a86abc173605..69ff74c2ceb5 100644
> > --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
> > +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> > @@ -270,7 +270,7 @@ static void mic_pre_enable(struct drm_bridge *bridge)
> >
> > ret = pm_runtime_get_sync(mic->dev);
> > if (ret < 0)
> > - goto unlock;
> > + goto turn_off;
>
> How about just calling pm_runtime_put_noidle()?
>
> if (ret < 0) {
> pm_runtime_put_noidle(mic->dev);
> goto unlock;
> }
>
v2 was sent.
> Thanks,
> Inki Dae
>
> >
> > mic_set_path(mic, 1);
> >
> >
--
Navid.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] drm/exynos: fix ref count leak in mic_pre_enable
2020-06-15 5:49 ` [PATCH v2] " Navid Emamdoost
@ 2020-06-16 1:13 ` Inki Dae
0 siblings, 0 replies; 5+ messages in thread
From: Inki Dae @ 2020-06-16 1:13 UTC (permalink / raw)
To: Navid Emamdoost, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park,
David Airlie, Daniel Vetter, Kukjin Kim, Krzysztof Kozlowski,
dri-devel, linux-arm-kernel, linux-samsung-soc, linux-kernel
Cc: mccamant, emamd001, kjlu, wu000273
20. 6. 15. 오후 2:49에 Navid Emamdoost 이(가) 쓴 글:
> in mic_pre_enable, pm_runtime_get_sync is called which
> increments the counter even in case of failure, leading to incorrect
> ref count. In case of failure, decrement the ref count before returning.
>
> Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
> ---
> Changes in v2:
> - reuse the unlock label and call pm_runtime_put_noidle
Picked it up.
Thanks,
Inki Dae
> ---
> ---
> drivers/gpu/drm/exynos/exynos_drm_mic.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> index a86abc173605..3821ea76a703 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> @@ -269,8 +269,10 @@ static void mic_pre_enable(struct drm_bridge *bridge)
> goto unlock;
>
> ret = pm_runtime_get_sync(mic->dev);
> - if (ret < 0)
> + if (ret < 0) {
> + pm_runtime_put_noidle(mic->dev);
> goto unlock;
> + }
>
> mic_set_path(mic, 1);
>
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-06-16 1:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20200614062349epcas1p1e285479c1e6483708b62f93e70a453a4@epcas1p1.samsung.com>
2020-06-14 6:23 ` [PATCH] drm/exynos: fix ref count leak in mic_pre_enable Navid Emamdoost
2020-06-15 0:52 ` Inki Dae
2020-06-15 5:49 ` [PATCH v2] " Navid Emamdoost
2020-06-16 1:13 ` Inki Dae
2020-06-15 5:50 ` [PATCH] " Navid Emamdoost
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).