ASoC: sun4i-codec: pass through clk_set_rate error
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 1 Dec 2015 11:06:47 +0000 (12:06 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 1 Dec 2015 15:41:29 +0000 (15:41 +0000)
Commit 1fb34b48361e ('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>
sound/soc/sunxi/sun4i-codec.c

index 516c7c2b479a0c1f6643ac65cb3e48f97bdb1c8e..0dc11f54793705f64453d381199f74f9239685df 100644 (file)
@@ -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 sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card);
        unsigned long clk_freq;
-       int hwrate;
+       int ret, hwrate;
 
        clk_freq = sun4i_codec_get_mod_freq(params);
        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)