ASoC: soc-topology: use devm_snd_soc_register_dai()
Use devm_ to avoid use-after-free KASAN reports and simplify error handling. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> BugLink: https://github.com/thesofproject/linux/issues/2186 Link: https://lore.kernel.org/r/20200612205938.26415-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
0fae253af5
Коммит
6ae4902f2f
|
@ -1851,7 +1851,7 @@ static int soc_tplg_dai_create(struct soc_tplg *tplg,
|
||||||
list_add(&dai_drv->dobj.list, &tplg->comp->dobj_list);
|
list_add(&dai_drv->dobj.list, &tplg->comp->dobj_list);
|
||||||
|
|
||||||
/* register the DAI to the component */
|
/* register the DAI to the component */
|
||||||
dai = snd_soc_register_dai(tplg->comp, dai_drv, false);
|
dai = devm_snd_soc_register_dai(tplg->comp->dev, tplg->comp, dai_drv, false);
|
||||||
if (!dai)
|
if (!dai)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@ -1859,7 +1859,6 @@ static int soc_tplg_dai_create(struct soc_tplg *tplg,
|
||||||
ret = snd_soc_dapm_new_dai_widgets(dapm, dai);
|
ret = snd_soc_dapm_new_dai_widgets(dapm, dai);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
dev_err(dai->dev, "Failed to create DAI widgets %d\n", ret);
|
dev_err(dai->dev, "Failed to create DAI widgets %d\n", ret);
|
||||||
snd_soc_unregister_dai(dai);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче