Hi Pierre-Louis > > static int dpcm_prune_paths(...) > > { > > ... > > /* Destroy any old FE <--> BE connections */ > > (1) for_each_dpcm_be(fe, stream, dpcm) { > > unsigned int i; > > > > - /* is there a valid CPU DAI widget for this BE */ > > | widget = dai_get_widget(dpcm->be->cpu_dai, stream); > > | > > (A) /* prune the BE if it's no longer in our active list */ > > | if (widget && widget_in_list(list, widget)) > > |(a) continue; > > - > > | /* is there a valid CODEC DAI widget for this BE */ > > |(2) for_each_rtd_codec_dai(dpcm->be, i, dai) { > > | widget = dai_get_widget(dai, stream); > > (B) > > | /* prune the BE if it's no longer in our active list */ > > | if (widget && widget_in_list(list, widget)) > > |(b) continue; > > - } > > > > - ... > > | dpcm->state = ... > > (C) dpcm->be->dpcm[stream].runtime_update = ... > > | prune++; > > - } > > ... > > } (snip) > Nice catch. This looks like a problem added during the transition to > multi-codec. (snip) > the continue was not meant to continue the for loop on num_codecs, but > the outer loop for dpcm. Thank for checking !! OK, it is bug. I will post patch for it. Thank you for your help !! Best regards --- Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel