ASoC: soc-core: snd_soc_rtdcom_lookup() cares component driver name
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@amd.com> Reported-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Tested-by: Mukunda,Vijendar <vijendar.mukunda@amd.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
031734b7d6
commit
971da24c48
@ -590,9 +590,17 @@ struct snd_soc_component *snd_soc_rtdcom_lookup(struct snd_soc_pcm_runtime *rtd,
|
|||||||
{
|
{
|
||||||
struct snd_soc_rtdcom_list *rtdcom;
|
struct snd_soc_rtdcom_list *rtdcom;
|
||||||
|
|
||||||
|
if (!driver_name)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
for_each_rtdcom(rtd, rtdcom) {
|
for_each_rtdcom(rtd, rtdcom) {
|
||||||
if ((rtdcom->component->driver->name == driver_name) ||
|
const char *component_name = rtdcom->component->driver->name;
|
||||||
strcmp(rtdcom->component->driver->name, driver_name) == 0)
|
|
||||||
|
if (!component_name)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ((component_name == driver_name) ||
|
||||||
|
strcmp(component_name, driver_name) == 0)
|
||||||
return rtdcom->component;
|
return rtdcom->component;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user