ASoC: Fix leak of rtd in soc_bind_dai_link
If we fail to find a platform we simply return EPROBE_DEFER, but we have allocated the rtd pointer. All error paths before soc_add_pcm_runtime need to call soc_free_pcm_runtime first to avoid leaking the rtd pointer. A suitable error path already exists and is used else where in the function so simply use that here as well. 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
70fcad495b
|
@ -1056,7 +1056,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card,
|
|||
if (!rtd->platform) {
|
||||
dev_err(card->dev, "ASoC: platform %s not registered\n",
|
||||
dai_link->platform_name);
|
||||
return -EPROBE_DEFER;
|
||||
goto _err_defer;
|
||||
}
|
||||
|
||||
soc_add_pcm_runtime(card, rtd);
|
||||
|
|
Loading…
Reference in New Issue