ASoC: lpass-platform: fix uninitialized variable
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 14 Nov 2016 17:46:08 +0000 (09:46 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 14 Nov 2016 17:46:08 +0000 (09:46 -0800)
In commit 022d00ee0b55 ("ASoC: lpass-platform: Fix broken pcm data
usage") the stream specific information initialization was broken, with
the dma channel information not being initialized if there was no
alloc_dma_channel() helper function.

Before that, the DMA channel number was implicitly initialized to zero
because the backing store was allocated with devm_kzalloc().  When the
init code was rewritten, that implicit initialization was lost, and gcc
rightfully complains about an uninitialized variable being used.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
sound/soc/qcom/lpass-platform.c

index 07000f53db44950d7f88ec3aab24fb12b9d302a6..b392e51de94d173a20b130ad663b6af7c1e25f19 100644 (file)
@@ -75,6 +75,7 @@ static int lpass_platform_pcmops_open(struct snd_pcm_substream *substream)
        data->i2s_port = cpu_dai->driver->id;
        runtime->private_data = data;
 
+       dma_ch = 0;
        if (v->alloc_dma_channel)
                dma_ch = v->alloc_dma_channel(drvdata, dir);
        if (dma_ch < 0)