diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2015-09-29 15:43:17 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-09-30 14:41:14 -0400 |
commit | 98a4b665bc91480cc4c054093a59249e153ac17e (patch) | |
tree | 570c54adf50ace99f9e5bcd1006493a041924813 /sound/soc | |
parent | 31f4f0c640bd2d144ab16666c76d45f173f952f5 (diff) |
ASoC: sun4i-codec: pass through clk_set_rate error
The current code, disregarding the clk_set_rate error code, was always
returning -EINVAL. Fix that and return the code in order to have more clue
about what's going on.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/sunxi/sun4i-codec.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c index 8d59d83b5aa4..77408af5d38b 100644 --- a/sound/soc/sunxi/sun4i-codec.c +++ b/sound/soc/sunxi/sun4i-codec.c | |||
@@ -283,7 +283,7 @@ static int sun4i_codec_hw_params(struct snd_pcm_substream *substream, | |||
283 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 283 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
284 | struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); | 284 | struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); |
285 | unsigned long clk_freq; | 285 | unsigned long clk_freq; |
286 | int hwrate; | 286 | int ret, hwrate; |
287 | u32 val; | 287 | u32 val; |
288 | 288 | ||
289 | if (substream->stream != SNDRV_PCM_STREAM_PLAYBACK) | 289 | if (substream->stream != SNDRV_PCM_STREAM_PLAYBACK) |
@@ -293,8 +293,9 @@ static int sun4i_codec_hw_params(struct snd_pcm_substream *substream, | |||
293 | if (!clk_freq) | 293 | if (!clk_freq) |
294 | return -EINVAL; | 294 | return -EINVAL; |
295 | 295 | ||
296 | if (clk_set_rate(scodec->clk_module, clk_freq)) | 296 | ret = clk_set_rate(scodec->clk_module, clk_freq); |
297 | return -EINVAL; | 297 | if (ret) |
298 | return ret; | ||
298 | 299 | ||
299 | hwrate = sun4i_codec_get_hw_rate(params); | 300 | hwrate = sun4i_codec_get_hw_rate(params); |
300 | if (hwrate < 0) | 301 | if (hwrate < 0) |