From: sashiko-bot@kernel.org
To: "Marc Herrero" <marcht@proton.me>
Cc: linux-sound@vger.kernel.org
Subject: Re: [PATCH 2/2] ASoC: qcom: audioreach: only disconnect the route a mixer control owns
Date: Wed, 11 Nov 2026 11:09:18 +0000 [thread overview]
Message-ID: <sashiko-outbox-208851@kernel.org> (raw)
In-Reply-To: <20261111-q6apm-fixes-v1-2-1beb5702b372@proton.me>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [High] ASoC: qcom: audioreach: stale DAPM path in
audioreach_put_audio_mixer()
--
commit 1fff20ab243038af732f562aca3ace62e5fdcdb9
Author: Marc Herrero <marcht@proton.me>
ASoC: qcom: audioreach: only disconnect the route a mixer control owns
This commit checks audioreach_is_vmixer_connected() before disconnecting
a virtual mixer route when 0 is written to an AudioReach mixer control.
> diff --git a/sound/soc/qcom/qdsp6/topology.c b/sound/soc/qcom/qdsp6/topology.c
> index 612d8f03e6e98..e92408e09bac6 100644
> --- a/sound/soc/qcom/qdsp6/topology.c
> +++ b/sound/soc/qcom/qdsp6/topology.c
> @@ -1300,7 +1300,7 @@ static int audioreach_put_audio_mixer(struct snd_kcontrol *kcontrol,
> if (ucontrol->value.integer.value[0]) {
> audioreach_connect_sub_graphs(data, scontrol, dapm_scontrol, true);
> snd_soc_dapm_mixer_update_power(dapm, kcontrol, 1, NULL);
> - } else {
> + } else if (audioreach_is_vmixer_connected(data, scontrol, dapm_scontrol)) {
> audioreach_connect_sub_graphs(data, scontrol, dapm_scontrol, false);
> snd_soc_dapm_mixer_update_power(dapm, kcontrol, 0, NULL);
> }
[Severity: High]
Does gating snd_soc_dapm_mixer_update_power(dapm, kcontrol, 0, NULL) on
audioreach_is_vmixer_connected() leave kcontrol's DAPM path stuck
connected when switching front ends?
All front-end kcontrols on the same virtual mixer widget share one back-end
audioreach_graph_info->src_mod_inst_id, whereas each kcontrol owns its own
struct snd_soc_dapm_path in DAPM. If front end 1 is enabled (setting
path_1->connect = 1) and front end 2 is then enabled before front end 1 is
cleared, audioreach_connect_sub_graphs() overwrites info->src_mod_inst_id
with front end 2's module instance ID. When 0 is subsequently written to
front end 1's kcontrol, audioreach_is_vmixer_connected() returns false and
skips snd_soc_dapm_mixer_update_power(), leaving path_1->connect set to 1
so DPCM continues to treat the back end as connected to front end 1.
Only audioreach_connect_sub_graphs(data, scontrol, dapm_scontrol, false)
should be guarded by audioreach_is_vmixer_connected(), while
snd_soc_dapm_mixer_update_power(dapm, kcontrol, 0, NULL) is still called in
the else branch.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261111-q6apm-fixes-v1-0-1beb5702b372@proton.me?part=2
next prev parent reply other threads:[~2026-11-11 11:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-11 10:54 [PATCH 0/2] ASoC: qcom: audioreach: fix S24_LE playback and route mixer disconnects Marc Herrero via B4 Relay
2026-11-11 10:54 ` Marc Herrero
2026-11-11 10:54 ` [PATCH 1/2] ASoC: qcom: audioreach: use a 32-bit container for S24_LE PCM Marc Herrero via B4 Relay
2026-11-11 10:54 ` Marc Herrero
2026-11-11 10:54 ` [PATCH 2/2] ASoC: qcom: audioreach: only disconnect the route a mixer control owns Marc Herrero via B4 Relay
2026-11-11 10:54 ` Marc Herrero
2026-11-11 11:09 ` sashiko-bot [this message]
2026-11-12 19:01 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-208851@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=marcht@proton.me \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.