| From 40bd3f26cc31b914c28192aa4c698fc501c2d2f4 Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Sun, 23 Mar 2014 21:23:42 -0700 |
| Subject: ASoC: rcar: bugfix: it cares about the non-src case |
| |
| 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 | 18 +++++++++++------- |
| 1 file changed, 11 insertions(+), 7 deletions(-) |
| |
| diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c |
| index eee75ebf961c..6232b7d307aa 100644 |
| --- a/sound/soc/sh/rcar/src.c |
| +++ b/sound/soc/sh/rcar/src.c |
| @@ -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; |
| |
| -- |
| 2.1.2 |
| |