> > Uff, that is a lot of background knowledge. Would it be possible to > > put this explanation into ice1724.c code? It would definitely help > > newcomers. Thanks a lot. > > A patch is welcome ;) Sure, I will make one. > Then the problem is that it passed the playback substream to > snd_ak4114_build(). I guess passing NULL there instead should work. Sounds like a perfectly simple solution. I am just wondering if the following code in ak4114.c is correct: if (!strstr(kctl->id.name, "Playback")) { if (ply_substream == NULL) { snd_ctl_free_one(kctl); ak4114->kctls[idx] = NULL; continue; } kctl->id.device = ply_substream->pcm->device; kctl->id.subdevice = ply_substream->number; } else { kctl->id.device = cap_substream->pcm->device; kctl->id.subdevice = cap_substream->number; } If control name does NOT contain "Playback", playback stream is used. Should not be the check reversed? You are right, that code can handle the solution you propose. Pavel. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel