2023-01-05 07:03:49

by Liang He

[permalink] [raw]
Subject: [PATCH v2] mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak

In arizona_clk32k_enable(), we should use pm_runtime_resume_and_get()
as pm_runtime_get_sync() will increase the refcnt even when it
returns an error.

Signed-off-by: Liang He <[email protected]>
---
changelog:
v1: add missing pm_runtime_put_sync()
v2: use pm_runtime_resume_and_get()

drivers/mfd/arizona-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index cbf1dd90b70d..b1c53e040771 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -45,7 +45,7 @@ int arizona_clk32k_enable(struct arizona *arizona)
if (arizona->clk32k_ref == 1) {
switch (arizona->pdata.clk32k_src) {
case ARIZONA_32KZ_MCLK1:
- ret = pm_runtime_get_sync(arizona->dev);
+ ret = pm_runtime_resume_and_get(arizona->dev);
if (ret != 0)
goto err_ref;
ret = clk_prepare_enable(arizona->mclk[ARIZONA_MCLK1]);
--
2.25.1


2023-01-05 09:56:23

by Charles Keepax

[permalink] [raw]
Subject: Re: [PATCH v2] mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak

On Thu, Jan 05, 2023 at 02:10:55PM +0800, Liang He wrote:
> In arizona_clk32k_enable(), we should use pm_runtime_resume_and_get()
> as pm_runtime_get_sync() will increase the refcnt even when it
> returns an error.
>
> Signed-off-by: Liang He <[email protected]>
> ---

Acked-by: Charles Keepax <[email protected]>

Thanks,
Charles

2023-01-20 05:27:39

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2] mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak

On Thu, 05 Jan 2023, Liang He wrote:

> In arizona_clk32k_enable(), we should use pm_runtime_resume_and_get()
> as pm_runtime_get_sync() will increase the refcnt even when it
> returns an error.
>
> Signed-off-by: Liang He <[email protected]>
> ---
> changelog:
> v1: add missing pm_runtime_put_sync()
> v2: use pm_runtime_resume_and_get()
>
> drivers/mfd/arizona-core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

--
Lee Jones [李琼斯]