ASoC: sun4i-codec: pass through clk_set_rate error
Commit 1fb34b4836
('ASoC: sun4i: Implement MIC1 capture') added back some
code that disregards the clk_set_rate error code and always returns
-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:
parent
0837d8780c
commit
8400ddf4ac
1 changed files with 4 additions and 3 deletions
|
@ -411,14 +411,15 @@ static int sun4i_codec_hw_params(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card);
|
struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card);
|
||||||
unsigned long clk_freq;
|
unsigned long clk_freq;
|
||||||
int hwrate;
|
int ret, hwrate;
|
||||||
|
|
||||||
clk_freq = sun4i_codec_get_mod_freq(params);
|
clk_freq = sun4i_codec_get_mod_freq(params);
|
||||||
if (!clk_freq)
|
if (!clk_freq)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (clk_set_rate(scodec->clk_module, clk_freq))
|
ret = clk_set_rate(scodec->clk_module, clk_freq);
|
||||||
return -EINVAL;
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
hwrate = sun4i_codec_get_hw_rate(params);
|
hwrate = sun4i_codec_get_hw_rate(params);
|
||||||
if (hwrate < 0)
|
if (hwrate < 0)
|
||||||
|
|
Loading…
Reference in a new issue