mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
ASoC: compress: Fix leak of a widget list in soc_compr_open_fe
After we have called dpcm_path_get we should make sure to call dpcm_path_put on all error paths. This was not happening causing the allocated widget list to be leaked, this patch corrects this by adding a dpcm_path_put to the error path. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
29b4817d40
commit
b0f12c61de
@ -121,7 +121,7 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
|
||||
|
||||
dpcm_be_disconnect(fe, stream);
|
||||
fe->dpcm[stream].runtime = NULL;
|
||||
goto fe_err;
|
||||
goto path_err;
|
||||
}
|
||||
|
||||
dpcm_clear_pending_state(fe, stream);
|
||||
@ -136,6 +136,8 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
|
||||
|
||||
return 0;
|
||||
|
||||
path_err:
|
||||
dpcm_path_put(&list);
|
||||
fe_err:
|
||||
if (fe->dai_link->compr_ops && fe->dai_link->compr_ops->shutdown)
|
||||
fe->dai_link->compr_ops->shutdown(cstream);
|
||||
|
Loading…
Reference in New Issue
Block a user