]> git.ipfire.org Git - thirdparty/linux.git/commit
ASoC: qcom: q6asm-dai: do not set stream state in event and trigger callbacks
authorSrinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Mon, 18 May 2026 09:23:43 +0000 (09:23 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 25 May 2026 12:46:43 +0000 (13:46 +0100)
commitcee3e63e7106c3c81b2053371fdf14240bfba2fc
tree70796841fc97ae0ea650df8feffee15c8df1f63d
parente7ae89a0c97ce2b68b0983cd01eda67cf373517d
ASoC: qcom: q6asm-dai: do not set stream state in event and trigger callbacks

The q6asm-dai stream state is used by prepare() to decide whether an
existing stream setup needs to be closed before opening/configuring a new
one. Updating the state from trigger or asynchronous DSP callbacks can make
that state stale or incorrect relative to the actual setup lifetime.

In particular, setting Q6ASM_STREAM_STOPPED on STOP or EOS completion can
make prepare() believe there is no active setup to close, which can result
in opening/configuring the same stream more than once.

Keep stream state updates tied to prepare(), where the stream is actually
closed and reopened, and stop changing it from trigger and EOS callbacks.

Fixes: bfbb12dfa144 ("ASoC: qcom: q6asm-dai: perform correct state check before closing")
Cc: Stable@vger.kernel.org
Closes: https://lore.kernel.org/all/afS7rTHdc9TyIeLx@rdacayan/
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20260518092347.3446946-2-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/qdsp6/q6asm-dai.c