Hey,
On Wed, 19 Feb 2020, Kai Vehmanen wrote:
ASoC component open/close and snd_soc_component_module_get/put are called independently for each component-substream pair, so the logic in the reverted patch was not sufficient and led to PCM playback and module unload errors.
I tried to keep part of the original patch at first, but I kept hitting new issues either in component load, or in module unload-reload flow. Thanks to Pierre and Ranjani for early reviews.
So in the end I ended up with a full revert. This at least works on all SOF device topologies I tested with.
At the root of the problem is that component open is called with multiple substreams and driver open (and close) should be called for each substream as well. This also caused problems to the added module refcounting logic.. so that is reverted as well.
Br, Kai