Quellcode durchsuchen

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>
Kuninori Morimoto vor 11 Jahren
Ursprung
Commit
b1eac430b6
1 geänderte Dateien mit 11 neuen und 7 gelöschten Zeilen
  1. 11 7
      sound/soc/sh/rcar/src.c

+ 11 - 7
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;