[alsa-devel] [PATCH] ASoC: soc-core: snd_soc_rtdcom_lookup() cares component driver name
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Jan 23 01:41:24 CET 2018
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
snd_soc_rtdcom_lookup() look up component by uisng driver name.
Then, it uses component->driver->name.
Some driver might doesn't have it, thus it should care NULL pointer.
This patch solve this issue.
Reported-by: Mukunda,Vijendar <vijendar.mukunda at amd.com>
Reported-by: Manuel Lauss <manuel.lauss at gmail.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Tested-by: Mukunda,Vijendar <vijendar.mukunda at amd.com>
---
sound/soc/soc-core.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 10f808e..c9fdcbb 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -358,9 +358,17 @@ struct snd_soc_component *snd_soc_rtdcom_lookup(struct snd_soc_pcm_runtime *rtd,
{
struct snd_soc_rtdcom_list *rtdcom;
+ if (!driver_name)
+ return NULL;
+
for_each_rtdcom(rtd, rtdcom) {
- if ((rtdcom->component->driver->name == driver_name) ||
- strcmp(rtdcom->component->driver->name, driver_name) == 0)
+ const char *component_name = rtdcom->component->driver->name;
+
+ if (!component_name)
+ continue;
+
+ if ((component_name == driver_name) ||
+ strcmp(component_name, driver_name) == 0)
return rtdcom->component;
}
--
1.9.1
More information about the Alsa-devel
mailing list