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>
This commit is contained in:
Maxime Ripard 2015-09-29 21:43:17 +02:00 committed by Mark Brown
parent 31f4f0c640
commit 98a4b665bc
1 changed files with 4 additions and 3 deletions

View File

@ -283,7 +283,7 @@ static int sun4i_codec_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card);
unsigned long clk_freq;
int hwrate;
int ret, hwrate;
u32 val;
if (substream->stream != SNDRV_PCM_STREAM_PLAYBACK)
@ -293,8 +293,9 @@ static int sun4i_codec_hw_params(struct snd_pcm_substream *substream,
if (!clk_freq)
return -EINVAL;
if (clk_set_rate(scodec->clk_module, clk_freq))
return -EINVAL;
ret = clk_set_rate(scodec->clk_module, clk_freq);
if (ret)
return ret;
hwrate = sun4i_codec_get_hw_rate(params);
if (hwrate < 0)