Hi Amadeusz Cc Mark Thank you for debuging/checking. > > I noticed that before the patch, it checks dummy DAI only for no_pcm case. > > But after appling the patch, it will check both CPU and Codec > > valid (X)/(Y)/(Z). (snip) > sorry for small delay, I've debugged the issue. Seems like one less > critical problem is in ASoC HDA codec, which blocks HDA and HDMI probing > altogether in our driver, something like this should fix this: (snip) > @@ -341,6 +341,8 @@ static const struct snd_soc_dapm_widget > hda_dapm_widgets[] = { > static struct snd_soc_dai_driver card_binder_dai = { > .id = -1, > .name = "codec-probing-DAI", > + .capture.channels_min = 1, > + .playback.channels_min = 1, > }; (snip) > and it works for testing purposes, but as commented in code, those > fields are initialized later (in hdmi_pcm_open()), which apparently in > case of ASoC binding is too late. Likely those assignments need to be > moved earlier. > > Another thing that should probably be done is some kind of look through > ASoC codec files to make sure that they all define channels_min > properly, otherwise there may be more unexpected failures. Hmm... >From logic point of view, I think we need to check all validation. But from compatible point of view, we want to skip validation check for BE Codec... Especially, quick hack solution (= adding channels_min in many place) might case other bug I guess. OK, let's skip BE Codec in v2 for now. Thank you for your help !! Best regards --- Kuninori Morimoto