On Wed, Dec 02, 2020 at 10:53:20PM +0800, Zhang Qilong wrote: > 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. It depends on the mainline commit[PM: runtime: > Add pm_runtime_resume_and_get to deal with usagecounter]. > > Fixes: 323aeb0eb5d9a ("hwmon: (ina3221) Add PM runtime support") > Signed-off-by: Zhang Qilong <zhangqilong3@xxxxxxxxxx> Applied (again), this time on top of v5.10-rc6. > --- > Changlog: > v2 > - add the dependency for the fix. > --- > drivers/hwmon/ina3221.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwmon/ina3221.c b/drivers/hwmon/ina3221.c > index 72cfdc007e60..d80bd3efcd6d 100644 > --- a/drivers/hwmon/ina3221.c > +++ b/drivers/hwmon/ina3221.c > @@ -489,7 +489,7 @@ static int ina3221_write_enable(struct device *dev, int channel, bool enable) > > /* For enabling routine, increase refcount and resume() at first */ > if (enable) { > - ret = pm_runtime_get_sync(ina->pm_dev); > + ret = pm_runtime_resume_and_get(ina->pm_dev); > if (ret < 0) { > dev_err(dev, "Failed to get PM runtime\n"); > return ret;