summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorChancel Liu <chancel.liu@nxp.com>2024-03-05 07:56:06 +0100
committerMark Brown <broonie@kernel.org>2024-03-12 17:35:04 +0100
commit23fb6bc2696119391ec3a92ccaffe50e567c515e (patch)
tree4f872121b4a9288c361edd9038ffae1b25a506b2 /sound
parentASoC: dt-bindings: cirrus,cs42l43: Fix 'gpio-ranges' schema (diff)
downloadlinux-23fb6bc2696119391ec3a92ccaffe50e567c515e.tar.xz
linux-23fb6bc2696119391ec3a92ccaffe50e567c515e.zip
ASoC: soc-core.c: Skip dummy codec when adding platforms
When pcm_runtime is adding platform components it will scan all registered components. In case of DPCM FE/BE some DAI links will configure dummy platform. However both dummy codec and dummy platform are using "snd-soc-dummy" as component->name. Dummy codec should be skipped when adding platforms otherwise there'll be overflow and UBSAN complains. Reported-by: Zhipeng Wang <zhipeng.wang_1@nxp.com> Signed-off-by: Chancel Liu <chancel.liu@nxp.com> Link: https://msgid.link/r/20240305065606.3778642-1-chancel.liu@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/soc-core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 1e94edba12eb..2ec13d1634b6 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1219,6 +1219,9 @@ static int snd_soc_add_pcm_runtime(struct snd_soc_card *card,
if (!snd_soc_is_matching_component(platform, component))
continue;
+ if (snd_soc_component_is_dummy(component) && component->num_dai)
+ continue;
+
snd_soc_rtd_add_component(rtd, component);
}
}