[PATCH v1 3/5] ASoC: qcom: qdsp6: Zero-initialize AudioReach module config
From: Prasad Kumpatla
Date: Sat Aug 08 2026 - 14:20:59 EST
q6apm_dai_prepare() and q6apm_dai_compr_set_params() build an
AudioReach module config on the stack and populate only the fields
needed for the stream type.
Audio IF media-format setup treats zero slot_mask, nslots_per_frame and
slot_width as a request to use the topology defaults. Leave those fields
uninitialized and random stack data can override the topology values sent
to the DSP.
Initialize the whole config structure so omitted fields reliably retain
their zero/default meaning.
Reported-by: Sashiko <sashiko-bot@xxxxxxxxxx>
Link: https://sashiko.dev/#/patchset/20260804070307.117119-1-prasad.kumpatla@xxxxxxxxxxxxxxxx
Signed-off-by: Prasad Kumpatla <prasad.kumpatla@xxxxxxxxxxxxxxxx>
---
sound/soc/qcom/qdsp6/q6apm-dai.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-dai.c
index bf1f872a09f4..033197bdd870 100644
--- a/sound/soc/qcom/qdsp6/q6apm-dai.c
+++ b/sound/soc/qcom/qdsp6/q6apm-dai.c
@@ -216,7 +216,7 @@ static int q6apm_dai_prepare(struct snd_soc_component *component,
{
struct snd_pcm_runtime *runtime = substream->runtime;
struct q6apm_dai_rtd *prtd = runtime->private_data;
- struct audioreach_module_config cfg;
+ struct audioreach_module_config cfg = {};
struct device *dev = component->dev;
struct q6apm_dai_data *pdata;
int ret;
@@ -814,7 +814,7 @@ static int q6apm_dai_compr_set_params(struct snd_soc_component *component,
struct snd_compr_runtime *runtime = stream->runtime;
struct q6apm_dai_rtd *prtd = runtime->private_data;
struct q6apm_dai_data *pdata;
- struct audioreach_module_config cfg;
+ struct audioreach_module_config cfg = {};
struct snd_codec *codec = ¶ms->codec;
int dir = stream->direction;
int ret;
--
2.34.1