ASoC: Intel: fix broadwell module removing failed issue

In haswell-pcm module unloading, we can't free runtime modules
directly, for they may be already freed in runtime suspend.

Here add executing suspend call to unload runtime modules, only
for status not equal to RPM_SUSPEND, to fix broadwell module
removing failed issue.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
此提交包含在:
Liam Girdwood
2015-05-28 14:14:18 +08:00
提交者 Mark Brown
父節點 506c148ee5
當前提交 01f202c7b4

查看文件

@@ -1103,8 +1103,10 @@ static int hsw_pcm_remove(struct snd_soc_platform *platform)
snd_soc_platform_get_drvdata(platform);
int i;
/* execute a suspend call to unload all FW resources */
if (!pm_runtime_status_suspended(platform->dev))
pm_runtime_put_sync_suspend(platform->dev);
pm_runtime_disable(platform->dev);
hsw_pcm_free_modules(priv_data);
for (i = 0; i < ARRAY_SIZE(hsw_dais); i++) {
if (hsw_dais[i].playback.channels_min)