ASoC: rcar: bugfix: it cares about the non-src case
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 24 Mar 2014 04:23:42 +0000 (21:23 -0700)
committerStephane Desneux <stephane.desneux@open.eurogiciel.org>
Wed, 4 Feb 2015 10:13:10 +0000 (11:13 +0100)
src might not exist.
kernel will be hung-up without this patch in such case.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit b1eac430b6a4bee6821273d9b41dd3593eb7830b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
sound/soc/sh/rcar/src.c

index eee75eb..6232b7d 100644 (file)
@@ -182,16 +182,20 @@ unsigned int rsnd_src_get_ssi_rate(struct rsnd_priv *priv,
                                   struct rsnd_dai_stream *io,
                                   struct snd_pcm_runtime *runtime)
 {
+       struct rsnd_mod *src_mod = rsnd_io_to_mod_src(io);
        struct rsnd_src *src;
-       unsigned int rate;
+       unsigned int rate = 0;
 
-       src = rsnd_mod_to_src(rsnd_io_to_mod_src(io));
+       if (src_mod) {
+               src = rsnd_mod_to_src(src_mod);
+
+               /*
+                * return convert rate if SRC is used,
+                * otherwise, return runtime->rate as usual
+                */
+               rate = rsnd_src_convert_rate(src);
+       }
 
-       /*
-        * return convert rate if SRC is used,
-        * otherwise, return runtime->rate as usual
-        */
-       rate = rsnd_src_convert_rate(src);
        if (!rate)
                rate = runtime->rate;