提交 01f202c7 编写于 作者: L Liam Girdwood 提交者: Mark Brown

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: NLiam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: NJie Yang <yang.jie@intel.com>
Signed-off-by: NMark Brown <broonie@kernel.org>
上级 506c148e
......@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册