summaryrefslogtreecommitdiff
path: root/sound/soc/intel/haswell/sst-haswell-pcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/intel/haswell/sst-haswell-pcm.c')
-rw-r--r--sound/soc/intel/haswell/sst-haswell-pcm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/soc/intel/haswell/sst-haswell-pcm.c b/sound/soc/intel/haswell/sst-haswell-pcm.c
index 225c04c38e42..1557e37abe19 100644
--- a/sound/soc/intel/haswell/sst-haswell-pcm.c
+++ b/sound/soc/intel/haswell/sst-haswell-pcm.c
@@ -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)