diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2014-03-24 00:23:42 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-03-24 06:42:26 -0400 |
commit | b1eac430b6a4bee6821273d9b41dd3593eb7830b (patch) | |
tree | db49b2fa7d9eb4d292f9ed59c152878060075ce5 /sound | |
parent | 90e8e50fce3585d6f9902701de08389b027dadc6 (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.c | 18 |
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 | ||