mirror of https://gitee.com/openkylin/linux.git
ASoC: soc-core: use device_unregister() if rtd allocation failed
Because soc_free_pcm_runtime(rtd) checks rtd pointer and freeing rtd->xxx, it doesn't work correctly in case of rtd allocation failed. We need to use device_unregister(dev) in such case. This patch fixup it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87r1jxxldd.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f1b3ee789f
commit
5fa7553dcd
|
@ -470,8 +470,10 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
|
|||
dai_link->num_codecs +
|
||||
dai_link->num_platforms),
|
||||
GFP_KERNEL);
|
||||
if (!rtd)
|
||||
goto free_rtd;
|
||||
if (!rtd) {
|
||||
device_unregister(dev);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rtd->dev = dev;
|
||||
INIT_LIST_HEAD(&rtd->list);
|
||||
|
|
Loading…
Reference in New Issue