diff options
| author | Nicolin Chen <Guangyu.Chen@freescale.com> | 2013-12-20 03:41:00 -0500 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2013-12-21 09:47:10 -0500 |
| commit | 1fb2d9d7465bcbb519c582fa4a3bd04ff4fce2d2 (patch) | |
| tree | 418826f3cf2f2929ea3969c446ca336a805d3df3 | |
| parent | dd9f40602e96353c210805a99abd9af6abd28473 (diff) | |
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 <Guangyu.Chen@freescale.com>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
| -rw-r--r-- | sound/soc/fsl/fsl_sai.c | 14 |
1 files changed, 8 insertions, 6 deletions
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, | |||
| 111 | dev_err(cpu_dai->dev, | 111 | dev_err(cpu_dai->dev, |
| 112 | "Cannot set SAI's transmitter sysclk: %d\n", | 112 | "Cannot set SAI's transmitter sysclk: %d\n", |
| 113 | ret); | 113 | ret); |
| 114 | return ret; | 114 | goto err_clk; |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | ret = fsl_sai_set_dai_sysclk_tr(cpu_dai, clk_id, freq, | 117 | 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, | |||
| 120 | dev_err(cpu_dai->dev, | 120 | dev_err(cpu_dai->dev, |
| 121 | "Cannot set SAI's receiver sysclk: %d\n", | 121 | "Cannot set SAI's receiver sysclk: %d\n", |
| 122 | ret); | 122 | ret); |
| 123 | return ret; | 123 | goto err_clk; |
| 124 | } | 124 | } |
| 125 | 125 | ||
| 126 | err_clk: | ||
| 126 | clk_disable_unprepare(sai->clk); | 127 | clk_disable_unprepare(sai->clk); |
| 127 | 128 | ||
| 128 | return 0; | 129 | return ret; |
| 129 | } | 130 | } |
| 130 | 131 | ||
| 131 | static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai, | 132 | 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) | |||
| 222 | dev_err(cpu_dai->dev, | 223 | dev_err(cpu_dai->dev, |
| 223 | "Cannot set SAI's transmitter format: %d\n", | 224 | "Cannot set SAI's transmitter format: %d\n", |
| 224 | ret); | 225 | ret); |
| 225 | return ret; | 226 | goto err_clk; |
| 226 | } | 227 | } |
| 227 | 228 | ||
| 228 | ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_RECEIVER); | 229 | 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) | |||
| 230 | dev_err(cpu_dai->dev, | 231 | dev_err(cpu_dai->dev, |
| 231 | "Cannot set SAI's receiver format: %d\n", | 232 | "Cannot set SAI's receiver format: %d\n", |
| 232 | ret); | 233 | ret); |
| 233 | return ret; | 234 | goto err_clk; |
| 234 | } | 235 | } |
| 235 | 236 | ||
| 237 | err_clk: | ||
| 236 | clk_disable_unprepare(sai->clk); | 238 | clk_disable_unprepare(sai->clk); |
| 237 | 239 | ||
| 238 | return 0; | 240 | return ret; |
| 239 | } | 241 | } |
| 240 | 242 | ||
| 241 | static int fsl_sai_hw_params(struct snd_pcm_substream *substream, | 243 | static int fsl_sai_hw_params(struct snd_pcm_substream *substream, |
