Hi Mark
If each component / rtd / dai have "done" flag or count, soc_pcm_open() can call soc_pcm_close() directly without thinking about "until", because each flag can handle/indicate it.
The good point is we can reduce duplicate implementation. And it can avoid future bug. Because today, we need to care both soc_pcm_close() and error handling in soc_pcm_open(), it is not good for me.
That goal definitely makes sense, if we can avoid problems like the ones here it seems like a useful change.
Thank you for your feedback. The one big headache is that, as Kai mentioned, how to know the "handled substream". We need list or array, but... I will postpone this kind of patches now, and post other patches. And I will re-think about it again after that.
Thank you for your help !! Best regards --- Kuninori Morimoto