Messages in this thread Patch in this message | | | From | Navid Emamdoost <> | Subject | [PATCH] mfd: arizona: handle pm_runtime_get_sync failure case | Date | Thu, 4 Jun 2020 21:47:13 -0500 |
| |
Calling pm_runtime_get_sync increments the counter even in case of failure, causing incorrect ref count. Call pm_runtime_put_sync if pm_runtime_get_sync fails.
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> --- drivers/mfd/arizona-core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index f73cf76d1373..5b3191b6534a 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -46,8 +46,10 @@ int arizona_clk32k_enable(struct arizona *arizona) switch (arizona->pdata.clk32k_src) { case ARIZONA_32KZ_MCLK1: ret = pm_runtime_get_sync(arizona->dev); - if (ret != 0) + if (ret != 0) { + pm_runtime_put_sync(arizona->dev); goto err_ref; + } ret = clk_prepare_enable(arizona->mclk[ARIZONA_MCLK1]); if (ret != 0) { pm_runtime_put_sync(arizona->dev); -- 2.17.1
| |