Unverified Commit e2c48498 authored by jempty.liang's avatar jempty.liang Committed by Mark Brown
Browse files

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: default avatarjempty.liang <imntjempty@163.com>
Link: https://patch.msgid.link/20251119101116.78676-1-imntjempty@163.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 683c03b9
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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
	 */