From: Zhang Qilong Date: Mon, 23 Nov 2020 10:18:27 +0000 (+0800) Subject: HSI: Fix PM usage counter unbalance in ssi_hw_init X-Git-Tag: v5.12-rc1~108^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa57e77b3d28f0df07149d88c47bc0f3aa77330b;p=thirdparty%2Fkernel%2Flinux.git HSI: Fix PM usage counter unbalance in ssi_hw_init pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in reference leak here. We fix it by replacing it with pm_runtime_resume_and_get to keep usage counter balanced. Fixes: b209e047bc743 ("HSI: Introduce OMAP SSI driver") Signed-off-by: Zhang Qilong Signed-off-by: Sebastian Reichel --- diff --git a/drivers/hsi/controllers/omap_ssi_core.c b/drivers/hsi/controllers/omap_ssi_core.c index 7596dc1646484..44a3f5660c109 100644 --- a/drivers/hsi/controllers/omap_ssi_core.c +++ b/drivers/hsi/controllers/omap_ssi_core.c @@ -424,7 +424,7 @@ static int ssi_hw_init(struct hsi_controller *ssi) struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); int err; - err = pm_runtime_get_sync(ssi->device.parent); + err = pm_runtime_resume_and_get(ssi->device.parent); if (err < 0) { dev_err(&ssi->device, "runtime PM failed %d\n", err); return err;