aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2014-03-24 00:23:42 -0400
committerMark Brown <broonie@linaro.org>2014-03-24 06:42:26 -0400
commitb1eac430b6a4bee6821273d9b41dd3593eb7830b (patch)
treedb49b2fa7d9eb4d292f9ed59c152878060075ce5 /sound
parent90e8e50fce3585d6f9902701de08389b027dadc6 (diff)
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>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/sh/rcar/src.c18
1 files 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,
182 struct rsnd_dai_stream *io, 182 struct rsnd_dai_stream *io,
183 struct snd_pcm_runtime *runtime) 183 struct snd_pcm_runtime *runtime)
184{ 184{
185 struct rsnd_mod *src_mod = rsnd_io_to_mod_src(io);
185 struct rsnd_src *src; 186 struct rsnd_src *src;
186 unsigned int rate; 187 unsigned int rate = 0;
187 188
188 src = rsnd_mod_to_src(rsnd_io_to_mod_src(io)); 189 if (src_mod) {
190 src = rsnd_mod_to_src(src_mod);
191
192 /*
193 * return convert rate if SRC is used,
194 * otherwise, return runtime->rate as usual
195 */
196 rate = rsnd_src_convert_rate(src);
197 }
189 198
190 /*
191 * return convert rate if SRC is used,
192 * otherwise, return runtime->rate as usual
193 */
194 rate = rsnd_src_convert_rate(src);
195 if (!rate) 199 if (!rate)
196 rate = runtime->rate; 200 rate = runtime->rate;
197 201