ASoC: Intel: Skylake: Move up pipe mem free
authorVinod Koul <vinod.koul@intel.com>
Mon, 23 Nov 2015 16:56:29 +0000 (22:26 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 25 Nov 2015 17:55:46 +0000 (17:55 +0000)
The MCPS is freed first thing in pmd events but non memory. So if
we face error during teardown we leak this mem, so move the code
up

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-topology.c

index 698c4aa03933ba91294964ee52445c007ad2783e..f221c758d6016e1c8caa4432f524d0b237ca8d42 100644 (file)
@@ -652,6 +652,7 @@ static int skl_tplg_mixer_dapm_post_pmd_event(struct snd_soc_dapm_widget *w,
        int ret = 0;
 
        skl_tplg_free_pipe_mcps(skl, mconfig);
+       skl_tplg_free_pipe_mem(skl, mconfig);
 
        list_for_each_entry(w_module, &s_pipe->w_list, node) {
                dst_module = w_module->w->priv;
@@ -670,7 +671,6 @@ static int skl_tplg_mixer_dapm_post_pmd_event(struct snd_soc_dapm_widget *w,
        }
 
        ret = skl_delete_pipe(ctx, mconfig->pipe);
-       skl_tplg_free_pipe_mem(skl, mconfig);
 
        return ret;
 }