linux-stable/sound/soc/sof
Peter Ujfalusi e8d0ba147d
ASoC: SOF: Intel: hda-dai: Do not release the link DMA on STOP
The linkDMA should not be released on stop trigger since a stream re-start
might happen without closing of the stream. This leaves a short time for
other streams to 'steal' the linkDMA since it has been released.

This issue is not easy to reproduce under normal conditions as usually
after stop the stream is closed, or the same stream is restarted, but if
another stream got in between the stop and start, like this:
aplay -Dhw:0,3 -c2 -r48000 -fS32_LE /dev/zero -d 120
CTRL+z
aplay -Dhw:0,0 -c2 -r48000 -fS32_LE /dev/zero -d 120

then the link DMA channels will be mixed up, resulting firmware error or
crash.

Fixes: ab5593793e ("ASoC: SOF: Intel: hda: Always clean up link DMA during stop")
Cc: stable@vger.kernel.org
Closes: https://github.com/thesofproject/sof/issues/9695
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20241217091019.31798-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-17 13:21:10 +00:00
..
amd module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
imx module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
intel ASoC: SOF: Intel: hda-dai: Do not release the link DMA on STOP 2024-12-17 13:21:10 +00:00
mediatek module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
xtensa module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
compress.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
control.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
core.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
debug.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
fw-file-profile.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
iomem-utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ipc3-control.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-dtrace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-loader.c ASoC: SOF: ipc3-loader: 'Handle' PROBE_INFO ext_manifest type when parsing 2024-11-07 13:03:23 +00:00
ipc3-pcm.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-priv.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-topology.c ASoC: SOF: ipc3-topology: fix resource leaks in sof_ipc3_widget_setup_comp_dai() 2024-12-02 13:30:43 +00:00
ipc3.c ASoC: SOF: ipc3: Use standard dev_dbg API 2024-09-30 01:10:54 +02:00
ipc4-control.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-fw-reg.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-loader.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-mtrace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-pcm.c ASoc: SOF: ipc4-pcm: fix uninit-value in sof_ipc4_pcm_dai_link_fixup_rate 2024-11-11 14:45:42 +00:00
ipc4-priv.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-telemetry.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-telemetry.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-topology.c ASoC: Merge up fixes 2024-11-14 11:39:47 +00:00
ipc4-topology.h ASoC: SOF: ipc4-topology/pcm: Rename sof_ipc4_copier_is_single_format() 2024-05-30 12:33:30 +01:00
ipc4.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
Kconfig ASoC: SOF: core: Implement IPC version fallback if firmware files are missing 2023-11-29 13:25:15 +00:00
loader.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
Makefile ASoC: SOF: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:30 +09:00
nocodec.c ASoC: sof: remove dpcm_xxx flags 2024-10-23 13:01:56 +01:00
ops.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ops.h iopoll/regmap/phy/snd: Fix comment referencing outdated timer documentation 2024-10-16 00:36:47 +02:00
pcm.c ASoC: sof: pcm: use snd_pcm_direction_name() 2024-08-01 14:54:49 +01:00
pm.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-acpi-dev.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-acpi-dev.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-audio.c ASoC: Merge up fixes 2024-06-21 13:17:21 +01:00
sof-audio.h ASoC: SOF: sof-audio: Avoid -Wflex-array-member-not-at-end warnings 2024-08-08 09:17:16 +01:00
sof-client-ipc-flood-test.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-client-ipc-kernel-injector.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-client-ipc-msg-injector.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-client-probes-ipc3.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-client-probes-ipc4.c ASoC: SOF: sof-client-probes-ipc4: Set param_size extension bits 2024-11-07 15:35:52 +00:00
sof-client-probes.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-client-probes.h ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device 2022-10-31 13:20:22 +00:00
sof-client.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-client.h ASoC: SOF: Add IPC3 Kernel Injector 2023-06-09 10:44:40 +01:00
sof-of-dev.c ASoC: SOF: core: Add fw, tplg and ipc type override parameters 2024-10-23 12:46:24 +01:00
sof-of-dev.h ASoC: SOF: Move sof_of_machine_select() to core.c from sof-of-dev.c 2023-12-04 17:02:15 +00:00
sof-pci-dev.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-pci-dev.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-priv.h ASoC: SOF: sof-priv.h: optimize snd_sof_ipc_msg 2024-08-02 14:05:15 +01:00
sof-utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sof-utils.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
stream-ipc.c ASoC: SOF: stream-ipc: remove unnecessary MODULE_LICENSE 2024-05-27 21:19:24 +01:00
topology.c ASoC: Updates for v6.12 2024-09-14 09:09:59 +02:00
trace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00