projects
/
wrapfs-3.2.y.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
13e1951
)
ASoC: img-i2s-out: Fix runtime PM imbalance on error
author
Dinghao Liu
<dinghao.liu@zju.edu.cn>
Fri, 29 May 2020 01:22:28 +0000
(09:22 +0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 1 Oct 2020 11:18:06 +0000
(13:18 +0200)
[ Upstream commit
65bd91dd6957390c42a0491b9622cf31a2cdb140
]
pm_runtime_get_sync() increments the runtime PM usage counter even
the call 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>
Link:
https://lore.kernel.org/r/20200529012230.5863-1-dinghao.liu@zju.edu.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/img/img-i2s-out.c
patch
|
blob
|
history
diff --git
a/sound/soc/img/img-i2s-out.c
b/sound/soc/img/img-i2s-out.c
index 4b18534096336bdf0c66c62cebf5df81732a4d3c..9c4212f2f7269034117f42875651d3e6ff328649 100644
(file)
--- a/
sound/soc/img/img-i2s-out.c
+++ b/
sound/soc/img/img-i2s-out.c
@@
-347,8
+347,10
@@
static int img_i2s_out_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
chan_control_mask = IMG_I2S_OUT_CHAN_CTL_CLKT_MASK;
ret = pm_runtime_get_sync(i2s->dev);
- if (ret < 0)
+ if (ret < 0) {
+ pm_runtime_put_noidle(i2s->dev);
return ret;
+ }
img_i2s_out_disable(i2s);
@@
-488,8
+490,10
@@
static int img_i2s_out_probe(struct platform_device *pdev)
goto err_pm_disable;
}
ret = pm_runtime_get_sync(&pdev->dev);
- if (ret < 0)
+ if (ret < 0) {
+ pm_runtime_put_noidle(&pdev->dev);
goto err_suspend;
+ }
reg = IMG_I2S_OUT_CTL_FRM_SIZE_MASK;
img_i2s_out_writel(i2s, reg, IMG_I2S_OUT_CTL);