summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrasad Kumpatla <prasad.kumpatla@oss.qualcomm.com>2026-08-18 14:16:53 +0530
committerMark Brown <broonie@kernel.org>2026-08-18 19:22:45 +0100
commit9c9fb79f9769ba9042086817ee57aa4eef8b8a97 (patch)
treee5dd3ee39a48c603f9c189d82902fe659de4d181
parentc41ac86802fc0a22a886915a43bcad2e8d482b02 (diff)
downloadlinux-9c9fb79f9769ba9042086817ee57aa4eef8b8a97.tar.gz
linux-9c9fb79f9769ba9042086817ee57aa4eef8b8a97.zip
ASoC: qcom: qdsp6: Zero-initialize AudioReach module config
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@kernel.org> Link: https://sashiko.dev/#/patchset/20260804070307.117119-1-prasad.kumpatla@oss.qualcomm.com Signed-off-by: Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com> Link: https://patch.msgid.link/20260818084655.3240284-3-prasad.kumpatla@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/qcom/qdsp6/q6apm-dai.c4
1 files 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 = &params->codec;
int dir = stream->direction;
int ret;