linux-imx/sound
Peter Ujfalusi 3b2f36068c ASoC: SOF: Intel: hda-dsp: Make sure that no irq handler is pending before suspend
[ Upstream commit 576a0b71b5 ]

In the existing IPC support, the reply to each IPC message is handled in
an IRQ thread. The assumption is that the IRQ thread is scheduled without
significant delays.

On an experimental (iow, buggy) kernel, the IRQ thread dealing with the
reply to the last IPC message before powering-down the DSP can be delayed
by several seconds. The IRQ thread will proceed with register accesses
after the DSP is powered-down which results in a kernel crash.

While the bug which causes the delay is not in the audio stack, we must
handle such cases with defensive programming to avoid such crashes.

Call synchronize_irq() before proceeding to power down the DSP to make
sure that no irq thread is pending execution.

Closes: https://github.com/thesofproject/linux/issues/4608
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20231012191850.147140-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-29 17:33:28 +02:00
..
ac97 ALSA: ac97: set variables dev_attr_vendor_id to static 2023-08-02 09:27:39 +02:00
aoa ALSA: aoa: Fix typos in PCM fix patch 2023-08-18 09:09:39 +02:00
arm
atmel
core ALSA: seq: ump: Optimize conversions from SysEx to UMP 2024-08-11 12:47:25 +02:00
drivers ALSA: pcmtest: stop timer before buffer is released 2024-01-20 11:51:42 +01:00
firewire Revert "ALSA: firewire-lib: operate for period elapse event in process context" 2024-08-11 12:47:25 +02:00
hda ALSA/hda: intel-dsp-config: Document AVS as dsp_driver option 2024-06-27 13:49:05 +02:00
i2c
isa ALSA: cs4231: Fix -Wformat-truncation warning for longname string 2023-09-15 13:23:01 +02:00
mips
oss
parisc
pci ALSA: hda/realtek: Fix noise from speakers on Lenovo IdeaPad 3 15IAU7 2024-08-29 17:33:22 +02:00
pcmcia
ppc
sh ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs 2024-04-03 15:28:59 +02:00
soc ASoC: SOF: Intel: hda-dsp: Make sure that no irq handler is pending before suspend 2024-08-29 17:33:28 +02:00
sparc
spi
synth ALSA: emux: improve patch ioctl data validation 2024-07-05 09:33:52 +02:00
usb ALSA: usb-audio: Support Yamaha P-125 quirk entry 2024-08-29 17:33:11 +02:00
virtio
x86
xen ALSA: xen: Fix -Wformat-truncation warning 2023-09-15 13:21:35 +02:00
ac97_bus.c
Kconfig This pull request contains the following changes for UML: 2023-09-04 11:32:21 -07:00
last.c
Makefile
sound_core.c