]> Git Repo - linux.git/commitdiff
ASoC: soc-core: snd_soc_rtdcom_lookup() cares component driver name
authorKuninori Morimoto <[email protected]>
Tue, 23 Jan 2018 00:41:24 +0000 (00:41 +0000)
committerMark Brown <[email protected]>
Tue, 23 Jan 2018 11:17:56 +0000 (11:17 +0000)
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 <[email protected]>
Reported-by: Manuel Lauss <[email protected]>
Signed-off-by: Kuninori Morimoto <[email protected]>
Tested-by: Mukunda,Vijendar <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
sound/soc/soc-core.c

index 9b79c2199781a7fc171a2bb1eac02989e2f1b3b5..52b2e04cc5e27bbd33a177a184795224027ee23b 100644 (file)
@@ -590,9 +590,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;
        }
 
This page took 0.05988 seconds and 4 git commands to generate.