Message ID | 20161108133916.1742379-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Accepted |
Commit | 3b89e4b77ef9c2f985964fab17032db98f074ed0 |
Headers | show |
On Tue, Nov 08, 2016 at 02:38:52PM +0100, Arnd Bergmann wrote: > A bugfix accidentally removed the implicit initialization of the > dma channel number, causing undefined behavior when > v->alloc_dma_channel is NULL: > > sound/soc/qcom/lpass-platform.c: In function ‘lpass_platform_pcmops_open’: > sound/soc/qcom/lpass-platform.c:83:29: error: ‘dma_ch’ may be used uninitialized in this function [-Werror=maybe-uninitialized] > > This adds back an explicit initialization to zero, restoring the > previous behavior for that case. > > Fixes: 022d00ee0b55 ("ASoC: lpass-platform: Fix broken pcm data usage") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > sound/soc/qcom/lpass-platform.c | 3 +++ > 1 file changed, 3 insertions(+) Good catch. Acked-by: Kenneth Westfield <kwestfie@codeaurora.org>
diff --git a/sound/soc/qcom/lpass-platform.c b/sound/soc/qcom/lpass-platform.c index 07000f53db44..e223bc90b2ef 100644 --- a/sound/soc/qcom/lpass-platform.c +++ b/sound/soc/qcom/lpass-platform.c @@ -77,6 +77,9 @@ static int lpass_platform_pcmops_open(struct snd_pcm_substream *substream) if (v->alloc_dma_channel) dma_ch = v->alloc_dma_channel(drvdata, dir); + else + dma_ch = 0; + if (dma_ch < 0) return dma_ch;
A bugfix accidentally removed the implicit initialization of the dma channel number, causing undefined behavior when v->alloc_dma_channel is NULL: sound/soc/qcom/lpass-platform.c: In function ‘lpass_platform_pcmops_open’: sound/soc/qcom/lpass-platform.c:83:29: error: ‘dma_ch’ may be used uninitialized in this function [-Werror=maybe-uninitialized] This adds back an explicit initialization to zero, restoring the previous behavior for that case. Fixes: 022d00ee0b55 ("ASoC: lpass-platform: Fix broken pcm data usage") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- sound/soc/qcom/lpass-platform.c | 3 +++ 1 file changed, 3 insertions(+)