Am Samstag, 13. Juni 2020, 22:51:58 CEST schrieb wu000273@xxxxxxx: > From: Qiushi Wu <wu000273@xxxxxxx> > > Calling pm_runtime_get_sync increments the counter even in case of > failure, causing incorrect ref count if pm_runtime_put is not called in > error handling paths. Call pm_runtime_put if pm_runtime_get_sync fails. > > Fixes: fc05a5b22253 ("ASoC: rockchip: add support for pdm controller") > Signed-off-by: Qiushi Wu <wu000273@xxxxxxx> somewhat unintuitive, but I checked __pm_runtime_resume for it, so Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> > --- > sound/soc/rockchip/rockchip_pdm.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/rockchip/rockchip_pdm.c b/sound/soc/rockchip/rockchip_pdm.c > index 7cd42fcfcf38..1707414cfa92 100644 > --- a/sound/soc/rockchip/rockchip_pdm.c > +++ b/sound/soc/rockchip/rockchip_pdm.c > @@ -590,8 +590,10 @@ static int rockchip_pdm_resume(struct device *dev) > int ret; > > ret = pm_runtime_get_sync(dev); > - if (ret < 0) > + if (ret < 0) { > + pm_runtime_put(dev); > return ret; > + } > > ret = regcache_sync(pdm->regmap); > >