Hi Mark, Johan, Brian These are v2 of Component level pcm_new/free patches. I think current ALSA SoC need to cleanup and move to new style. Then, current all CPU/Codec/Platform features needs to be merged into "component" (and remove CPU/Codec/Platform categorize). My previous pcm_new/free patch had wrong operation, thus Johan, Brian got damage from it. I'm so sorry about that. Current ALSA SoC has rtd->platform, but it should be removed in new style, I think. So, this patch adds new "component list" for rtd (= I named it as rtdcom, maybe we want to have more nice naming). This list includes all components (= CPU/Codec/Platform), not only platform component. I'm thinking that rtd->platform related operation will be replaced like below - if(rtd->platform->xxx) - rtd->platform->xxx(yyy); + for_each_rtdcom(rtd, rtdcom) { + component = rtdcom->component; /* rtd connected CPU/Codec/Platform */ + if (component->xxx) + component->xxx(yyy); + } Here, xxxx is pcm_new/free on this patch. If my understanding was correct, this v2 pcm_new/free works well for you, but I don't know. So, can you please test these patches ? These are based on mark/fix/multi-pcm Kuninori Morimoto (3): ASoC: soc-core: add snd_soc_rtdcom_xxx() ASoC: use snd_soc_rtdcom_add() and convert to consistent operation ASoC: add Component level pcm_new/pcm_free v2 Best regards --- Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel