mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
ASoC: soc-core: Pre-check zero CPU/codec DAIs, handle early rtd->dais alloc failure
This commit adds a pre-check in ASoC to ensure there are non-zero CPU or codec DAIs. It also handles early failure of memory allocation for rtd->dais by going to the cleanup path, preventing potential issues from invalid configurations or out-of-memory situations. Signed-off-by: jempty.liang <imntjempty@163.com> Link: https://patch.msgid.link/20251119101116.78676-1-imntjempty@163.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -545,6 +545,11 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
|
||||
dev_set_drvdata(dev, rtd);
|
||||
INIT_DELAYED_WORK(&rtd->delayed_work, close_delayed_work);
|
||||
|
||||
if ((dai_link->num_cpus + dai_link->num_codecs) == 0) {
|
||||
dev_err(dev, "ASoC: it has no CPU or codec DAIs\n");
|
||||
goto free_rtd;
|
||||
}
|
||||
|
||||
/*
|
||||
* for rtd->dais
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user