>> +static struct sof_ipc_dai_config *hda_dai_update_config(struct snd_soc_dapm_widget *w, >> + int channel) >> { >> + struct snd_sof_widget *swidget = w->dobj.private; >> struct sof_ipc_dai_config *config; >> struct snd_sof_dai *sof_dai; >> - struct sof_ipc_reply reply; >> - int ret = 0; >> >> - list_for_each_entry(sof_dai, &hda_stream->sdev->dai_list, list) { >> - if (!sof_dai->cpu_dai_name) >> - continue; >> + if (!swidget) { >> + dev_err(swidget->scomp->dev, "error: No private data for widget %s\n", w->name); > > NULL pointer dereference, just return NULL without the print. The caller > is printing anyways. yes good catch, we need a v3 with the fixes suggested by Peter in https://github.com/thesofproject/linux/pull/3171/ applied.