ASoC: soc-compress.c: fix NULL dereference
authorQais Yousef <qais.yousef@imgtec.com>
Wed, 14 Jan 2015 08:47:29 +0000 (08:47 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 15 Jan 2015 15:54:04 +0000 (15:54 +0000)
In soc_new_compress() when rtd->dai_link->dynamic is set, we create the pcm
substreams with this call:

   ret = snd_pcm_new_internal(rtd->card->snd_card, new_name, num,
                                   1, 0, &be_pcm);

which passes 0 as capture_count leading to

   be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream

being NULL, hence when trying to set rtd a few lines below we get an oops.

Fix by using rtd->dai_link->dpcm_playback and rtd->dai_link->dpcm_capture as
playback_count and capture_count to snd_pcm_new_internal().

Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org

No differences found