linux-yocto/sound
Kai Vehmanen 999d00a7ae ASoC: SOF: ipc4-pcm: fix start offset calculation for chain DMA
commit bace10b596 upstream.

Assumption that chain DMA module starts the link DMA when 1ms of
data is available from host is not correct. Instead the firmware
chain DMA module fills the link DMA with initial buffer of zeroes
and the host and link DMAs are started at the same time.

This results in a small error in delay calculation. This can become a
more severe problem if host DMA has delays that exceed 1ms. This results
in negative delay to be calculated and bogus values reported to
applications. This can confuse some applications like
alsa_conformance_test.

Fix the issue by correctly calculating the firmware chain DMA
preamble size and initializing the start offset to this value.

Cc: stable@vger.kernel.org
Fixes: a1d203d390 ("ASoC: SOF: ipc4-pcm: Enable delay reporting for ChainDMA streams")
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20251002074719.2084-3-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-10-15 12:04:16 +02:00
..
ac97
aoa
arm
atmel
core ALSA: pcm: Disable bottom softirqs as part of spin_lock_irq() on PREEMPT_RT 2025-10-15 12:03:59 +02:00
drivers ALSA: vx: Use safer strscpy() instead of strcpy() 2025-07-11 09:51:09 +02:00
firewire ALSA: firewire-motu: drop EPOLLOUT from poll return values as write is not supported 2025-08-30 09:32:45 +02:00
hda ALSA: hda/realtek: Add quirk for HP Spectre 14t-ea100 2025-10-15 12:04:15 +02:00
i2c
isa ALSA: wss: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:16 +02:00
mips ALSA: mips: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:16 +02:00
oss
parisc ALSA: parisc: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:16 +02:00
pci ALSA: lx_core: use int type to store negative error codes 2025-10-15 12:03:47 +02:00
pcmcia ALSA: vxpocket: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
ppc ALSA: ppc: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
sh ALSA: sh: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
soc ASoC: SOF: ipc4-pcm: fix start offset calculation for chain DMA 2025-10-15 12:04:16 +02:00
sparc ALSA: sparc: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
spi ALSA: spi: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
synth ALSA: synth: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
usb ALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free 2025-10-06 11:20:05 +02:00
virtio
x86 ALSA: intel_hdmi: Fix off-by-one error in __hdmi_lpe_audio_probe() 2025-08-06 08:02:15 +02:00
xen
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c