This patch series are based on broonie/sound.git for-next branch, commit 01a4d5083562fcdeab99d42b0873aabc5fcca018.
The broadwell platform driver had module removing failed issue, and the two commits("ASoC: Intel: remove unused function hsw_pcm_free_modules()" and "ASoC: Intel: fix broadwell module removing failed issue") workaround it.
But at the same time, we shouldn't leave the device as suspended state after module freed, it is not good to do runtime suspend at driver free either, so the fix was workaround only and not good enough.
Here revert the old fix, and replace it with new unified procedure for runtime modules freeing: suspends firmware ==> frees runtime modules ==> unloads firmware.
With this new procedure, we remove the runtime modules at both runtime suspend(D0->D3) and module(snd_soc_sst_haswell_pcm) removing, but make sure we do it only once.
Jie Yang (4): Revert "ASoC: Intel: remove unused function hsw_pcm_free_modules()" Revert "ASoC: Intel: fix broadwell module removing failed issue" ASoC: Intel: check and clear runtime module pointer ASoC: Intel: handle haswell pcm suspend including runtime modules freeing
sound/soc/intel/haswell/sst-haswell-pcm.c | 46 +++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 9 deletions(-)