| From 4c623874ce1ea5c86f873465027938745133f321 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 21 Feb 2024 13:48:04 +0000 |
| Subject: ASoC: qcom: Fix uninitialized pointer dmactl |
| |
| From: Colin Ian King <colin.i.king@gmail.com> |
| |
| [ Upstream commit 1382d8b55129875b2e07c4d2a7ebc790183769ee ] |
| |
| In the case where __lpass_get_dmactl_handle is called and the driver |
| id dai_id is invalid the pointer dmactl is not being assigned a value, |
| and dmactl contains a garbage value since it has not been initialized |
| and so the null check may not work. Fix this to initialize dmactl to |
| NULL. One could argue that modern compilers will set this to zero, but |
| it is useful to keep this initialized as per the same way in functions |
| __lpass_platform_codec_intf_init and lpass_cdc_dma_daiops_hw_params. |
| |
| Cleans up clang scan build warning: |
| sound/soc/qcom/lpass-cdc-dma.c:275:7: warning: Branch condition |
| evaluates to a garbage value [core.uninitialized.Branch] |
| |
| Fixes: b81af585ea54 ("ASoC: qcom: Add lpass CPU driver for codec dma control") |
| Signed-off-by: Colin Ian King <colin.i.king@gmail.com> |
| Link: https://msgid.link/r/20240221134804.3475989-1-colin.i.king@gmail.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/qcom/lpass-cdc-dma.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/sound/soc/qcom/lpass-cdc-dma.c b/sound/soc/qcom/lpass-cdc-dma.c |
| index 48b03e60e3a3d..8106c586f68a4 100644 |
| --- a/sound/soc/qcom/lpass-cdc-dma.c |
| +++ b/sound/soc/qcom/lpass-cdc-dma.c |
| @@ -259,7 +259,7 @@ static int lpass_cdc_dma_daiops_trigger(struct snd_pcm_substream *substream, |
| int cmd, struct snd_soc_dai *dai) |
| { |
| struct snd_soc_pcm_runtime *soc_runtime = snd_soc_substream_to_rtd(substream); |
| - struct lpaif_dmactl *dmactl; |
| + struct lpaif_dmactl *dmactl = NULL; |
| int ret = 0, id; |
| |
| switch (cmd) { |
| -- |
| 2.43.0 |
| |