ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 23 Jan 2023 23:17:20 +0000 (23:17 +0000)
committerMark Brown <broonie@kernel.org>
Sat, 28 Jan 2023 10:51:06 +0000 (10:51 +0000)
commit d3268a40d4b19f ("ASoC: soc-compress.c: fix NULL dereference")
enables DPCM capture, but it should independent from playback.
This patch fixup it.

Fixes: d3268a40d4b1 ("ASoC: soc-compress.c: fix NULL dereference")
Link: https://lore.kernel.org/r/87tu0i6j7j.wl-kuninori.morimoto.gx@renesas.com
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/871qnkvo1s.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-compress.c

index 7bce5088b45546407223854672c182e4ec54b375..e7aa6f360cabefb06521b35b3d8a8d13b549c606 100644 (file)
@@ -626,7 +626,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
                rtd->fe_compr = 1;
                if (rtd->dai_link->dpcm_playback)
                        be_pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream->private_data = rtd;
-               else if (rtd->dai_link->dpcm_capture)
+               if (rtd->dai_link->dpcm_capture)
                        be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream->private_data = rtd;
                memcpy(compr->ops, &soc_compr_dyn_ops, sizeof(soc_compr_dyn_ops));
        } else {