Hi jeffy, On Tue, Aug 22, 2017 at 3:57 PM, Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx> wrote: > @@ -978,7 +978,8 @@ struct snd_soc_dai *snd_soc_find_dai( > if (dlc->name && strcmp(component->name, dlc->name)) > continue; > list_for_each_entry(dai, &component->dai_list, list) { > - if (dlc->dai_name && strcmp(dai->name, dlc->dai_name)) > + if (dlc->dai_name && strcmp(dai->name, dlc->dai_name) > + && strcmp(dai->driver->name, dlc->dai_name)) In case that dai->driver->name is NULL, strcmp(dai->driver->name, dlc->dai_name) will cause segmentation fault. so I think that we can change it as the follows: if (dlc->dai_name && strcmp(dai->name, dlc->dai_name) && dai->driver->name && strcmp(dai->driver->name, dlc->dai_name)) > continue; > > return dai; > -- > 2.11.0 > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel