diff options
author | Dinghao Liu <dinghao.liu@zju.edu.cn> | 2020-05-25 19:05:40 +0800 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2020-06-19 19:01:16 +0200 |
commit | 1a37a039711610dd53ec03d8cab9e81875338225 (patch) | |
tree | 6cd7721d538cc96f2ecb3cd280da9e7a6a34ca60 /drivers/power | |
parent | 7222bd603dd2fe607794acd0c53025da1dbde21f (diff) |
power: supply: bq24190_charger: Fix runtime PM imbalance on error
pm_runtime_get_sync() increments the runtime PM usage counter even
it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/supply/bq24190_charger.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/power/supply/bq24190_charger.c b/drivers/power/supply/bq24190_charger.c index 4540e913057f..d14186525e1e 100644 --- a/drivers/power/supply/bq24190_charger.c +++ b/drivers/power/supply/bq24190_charger.c @@ -481,8 +481,10 @@ static ssize_t bq24190_sysfs_store(struct device *dev, return ret; ret = pm_runtime_get_sync(bdi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(bdi->dev); return ret; + } ret = bq24190_write_mask(bdi, info->reg, info->mask, info->shift, v); if (ret) |