summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuneshwor Singh <guneshwor.o.singh@intel.com>2016-02-03 15:29:46 +0300
committerMark Brown <broonie@kernel.org>2016-02-04 14:36:14 +0300
commit7ca42f5ac5e0d8011086bcfa00e85aede42f0b78 (patch)
tree0bc438a1cd327ada3a4501be614fb61713e7512a
parentee564d489cc47b1b6043bbe7e95464306d112cf5 (diff)
downloadlinux-7ca42f5ac5e0d8011086bcfa00e85aede42f0b78.tar.xz
ASoC: Intel: Skylake: Fix mcps freeup after module unbind failure
While cleaning resources on module pmd event, we check for return of skl_unbind_modules(). On failure this causes leak as all modules attached do not have resources freed. So ignore return value of module unbind and continue freeing resources. This makes dapm state and resources correct. Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/intel/skylake/skl-topology.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sound/soc/intel/skylake/skl-topology.c b/sound/soc/intel/skylake/skl-topology.c
index c67e3acb8102..86d5323e9184 100644
--- a/sound/soc/intel/skylake/skl-topology.c
+++ b/sound/soc/intel/skylake/skl-topology.c
@@ -98,7 +98,7 @@ static bool skl_tplg_alloc_pipe_mcps(struct skl *skl,
"%s: module_id %d instance %d\n", __func__,
mconfig->id.module_id, mconfig->id.instance_id);
dev_err(ctx->dev,
- "exceeds ppl memory available %d > mem %d\n",
+ "exceeds ppl mcps available %d > mem %d\n",
skl->resource.max_mcps, skl->resource.mcps);
return false;
}
@@ -773,10 +773,7 @@ static int skl_tplg_mixer_dapm_post_pmd_event(struct snd_soc_dapm_widget *w,
continue;
}
- ret = skl_unbind_modules(ctx, src_module, dst_module);
- if (ret < 0)
- return ret;
-
+ skl_unbind_modules(ctx, src_module, dst_module);
src_module = dst_module;
}