From: Nicolin Chen Date: Fri, 20 Dec 2013 08:41:00 +0000 (+0800) Subject: ASoC: fsl_sai: Keep symmetry for clk_enable() and clk_disable() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1fb2d9d7465bcbb519c582fa4a3bd04ff4fce2d2;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git ASoC: fsl_sai: Keep symmetry for clk_enable() and clk_disable() There are two functions haven't clk_disable_unprepare() if having error. Thus fix them. Signed-off-by: Nicolin Chen Reviewed-by: Xiubo Li Signed-off-by: Mark Brown --- diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index b8cdbf8660fe..69a375f48efe 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -111,7 +111,7 @@ static int fsl_sai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, dev_err(cpu_dai->dev, "Cannot set SAI's transmitter sysclk: %d\n", ret); - return ret; + goto err_clk; } ret = fsl_sai_set_dai_sysclk_tr(cpu_dai, clk_id, freq, @@ -120,12 +120,13 @@ static int fsl_sai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, dev_err(cpu_dai->dev, "Cannot set SAI's receiver sysclk: %d\n", ret); - return ret; + goto err_clk; } +err_clk: clk_disable_unprepare(sai->clk); - return 0; + return ret; } static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai, @@ -222,7 +223,7 @@ static int fsl_sai_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) dev_err(cpu_dai->dev, "Cannot set SAI's transmitter format: %d\n", ret); - return ret; + goto err_clk; } ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_RECEIVER); @@ -230,12 +231,13 @@ static int fsl_sai_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) dev_err(cpu_dai->dev, "Cannot set SAI's receiver format: %d\n", ret); - return ret; + goto err_clk; } +err_clk: clk_disable_unprepare(sai->clk); - return 0; + return ret; } static int fsl_sai_hw_params(struct snd_pcm_substream *substream,