ASoC: rt5616: Don't use rtd->codec
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 13 Nov 2016 20:06:16 +0000 (21:06 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 14 Nov 2016 11:23:17 +0000 (11:23 +0000)
rtd->codec does not necessarily point to the CODEC instance for which the
callback was called (e.g. for CODEC<->CODEC or multi-CODEC links). Use
dai->codec instead.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5616.c

index d1f273b..7d6e082 100644 (file)
@@ -960,8 +960,7 @@ static int rt5616_hw_params(struct snd_pcm_substream *substream,
                            struct snd_pcm_hw_params *params,
                            struct snd_soc_dai *dai)
 {
-       struct snd_soc_pcm_runtime *rtd = substream->private_data;
-       struct snd_soc_codec *codec = rtd->codec;
+       struct snd_soc_codec *codec = dai->codec;
        struct rt5616_priv *rt5616 = snd_soc_codec_get_drvdata(codec);
        unsigned int val_len = 0, val_clk, mask_clk;
        int pre_div, bclk_ms, frame_size;