drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 +++ 1 file changed, 3 insertions(+)
pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code, thus a matching decrement is needed
on the error handling path to keep the counter balanced.
Signed-off-by: Yongzhi Liu <lyz_cs@pku.edu.cn>
---
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index 242a5fd..5e81a98 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1714,6 +1714,9 @@ static int etnaviv_gpu_bind(struct device *dev, struct device *master,
return 0;
out_sched:
+#ifdef CONFIG_PM
+ pm_runtime_put_autosuspend(gpu->dev);
+#endif
etnaviv_sched_fini(gpu);
out_workqueue:
--
2.7.4
Am Dienstag, dem 18.01.2022 um 06:16 -0800 schrieb Yongzhi Liu: > pm_runtime_get_sync() increments the runtime PM usage counter even > when it returns an error code, thus a matching decrement is needed > on the error handling path to keep the counter balanced. > Instead of adding more error handling code here, I would prefer to convert this to pm_runtime_resume_and_get to avoid this issue. Regards, Lucas > Signed-off-by: Yongzhi Liu <lyz_cs@pku.edu.cn> > --- > drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > index 242a5fd..5e81a98 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > @@ -1714,6 +1714,9 @@ static int etnaviv_gpu_bind(struct device *dev, struct device *master, > return 0; > > out_sched: > +#ifdef CONFIG_PM > + pm_runtime_put_autosuspend(gpu->dev); > +#endif > etnaviv_sched_fini(gpu); > > out_workqueue:
> -----原始邮件----- > 发件人: "Lucas Stach" <l.stach@pengutronix.de> > 发送时间: 2022-01-19 18:51:20 (星期三) > 收件人: "Yongzhi Liu" <lyz_cs@pku.edu.cn>, linux+etnaviv@armlinux.org.uk, christian.gmeiner@gmail.com, airlied@linux.ie, daniel@ffwll.ch, etnaviv@lists.freedesktop.org > 抄送: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org > 主题: Re: [PATCH] drm/etnaviv: Add missing pm_runtime_put > > Am Dienstag, dem 18.01.2022 um 06:16 -0800 schrieb Yongzhi Liu: > > pm_runtime_get_sync() increments the runtime PM usage counter even > > when it returns an error code, thus a matching decrement is needed > > on the error handling path to keep the counter balanced. > > > Instead of adding more error handling code here, I would prefer to > convert this to pm_runtime_resume_and_get to avoid this issue. > > Regards, > Lucas > I will resend my modified patch. Thanks for your reply. > > Signed-off-by: Yongzhi Liu <lyz_cs@pku.edu.cn> > > --- > > drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > > index 242a5fd..5e81a98 100644 > > --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > > @@ -1714,6 +1714,9 @@ static int etnaviv_gpu_bind(struct device *dev, struct device *master, > > return 0; > > > > out_sched: > > +#ifdef CONFIG_PM > > + pm_runtime_put_autosuspend(gpu->dev); > > +#endif > > etnaviv_sched_fini(gpu); > > > > out_workqueue: >
© 2016 - 2026 Red Hat, Inc.