Hi Marek, again
Thank you for your test. And so sorry to bother you. I will fixup this issue.
I have no idea so far, but one capability is that if your system used / based dummy platform, and if your CPU driver didn't use/have snd_soc_set_runtime_hwparams() / snd_pcm_lib_ioctl, it might be happen, but this patch seems not related to it...
Reverting this patch fixes the issue, so it is definitely related somehow.
Ahh... OK now I think I could understand your issue. Your CPU is using devm_snd_dmaengine_pcm_register() with same *dev. In such case, indeed this patch breaks sound card.
I'm now negotiating to Mark to reverting issue patches. But, as alternative idea, I think below patch can solve this issue. Can you please test it ?
---------------------- diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 358f1fb..79b9cc4 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -931,9 +931,11 @@ static int soc_bind_dai_link(struct snd_soc_card *card, rtd->codec_dai = rtd->codec_dais[0];
/* Find PLATFORM from registered PLATFORMs */ + /* CPU driver might has both DAI and PLATFORM */ for_each_component(component) { if (!snd_soc_is_matching_component(dai_link->platforms, - component)) + component) && + !snd_soc_is_matching_component(dai_link->cpus, component)) continue;
snd_soc_rtdcom_add(rtd, component); ----------------------
Thank you for your help !! Best regards --- Kuninori Morimoto