mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
staging: greybus: codecs: Fix reference counter leak in error handling
[ Upstream commit3952659a61] gb_pm_runtime_get_sync has increased the usage counter of the device here. Forgetting to call gb_pm_runtime_put_noidle will result in usage counter leak in the error branch of (gbcodec_hw_params and gbcodec_prepare). We fixed it by adding it. Fixes:c388ae7696("greybus: audio: Update pm runtime support in dai_ops callback") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Link: https://lore.kernel.org/r/20201109131347.1725288-2-zhangqilong3@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
e4e1f57c6a
commit
63c4e010a5
|
|
@ -490,6 +490,7 @@ static int gbcodec_hw_params(struct snd_pcm_substream *substream,
|
|||
if (ret) {
|
||||
dev_err_ratelimited(dai->dev, "%d: Error during set_config\n",
|
||||
ret);
|
||||
gb_pm_runtime_put_noidle(bundle);
|
||||
mutex_unlock(&codec->lock);
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -566,6 +567,7 @@ static int gbcodec_prepare(struct snd_pcm_substream *substream,
|
|||
break;
|
||||
}
|
||||
if (ret) {
|
||||
gb_pm_runtime_put_noidle(bundle);
|
||||
mutex_unlock(&codec->lock);
|
||||
dev_err_ratelimited(dai->dev, "set_data_size failed:%d\n",
|
||||
ret);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user