summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-core.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2019-01-14 23:29:36 +0000
committerMark Brown <broonie@kernel.org>2019-01-15 00:07:00 +0000
commit5a7b2aabc1aa0393f067d9325ada96fdf67f8cb7 (patch)
tree75f005ea597a6b77e153fcc0ae40b0b8a5c3cfd8 /sound/soc/soc-core.c
parent09ac6a817bd687e7f5dac00470262efdd72f9319 (diff)
downloadlinux-stable-5a7b2aabc1aa0393f067d9325ada96fdf67f8cb7.tar.gz
linux-stable-5a7b2aabc1aa0393f067d9325ada96fdf67f8cb7.tar.bz2
linux-stable-5a7b2aabc1aa0393f067d9325ada96fdf67f8cb7.zip
ASoC: core: Make snd_soc_find_component() more robust
There are some use cases where you're checking for a lot of things on a card and it makes sense that you might end up trying to call snd_soc_find_component() without either a name or an of_node. Currently in that case we try to dereference the name and crash but it's more useful to allow the caller to just treat that as a case where we don't find anything, that error handling will already exist. Inspired by a patch from Ajit Pandey fixing some callers. Fixes: 8780cf1142a5 ("ASoC: soc-core: defer card probe until all component is added to list") Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r--sound/soc/soc-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index cdcc417c94ca..b680c673c553 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -742,7 +742,7 @@ static struct snd_soc_component *soc_find_component(
if (of_node) {
if (component->dev->of_node == of_node)
return component;
- } else if (strcmp(component->name, name) == 0) {
+ } else if (name && strcmp(component->name, name) == 0) {
return component;
}
}