linux-stable/sound/soc
Takashi Iwai db03abd0da ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call
commit 455c5653f5 upstream.

This is essentially a revert of the commit dc865fb9e7 ("ASoC: sti:
Use snd_pcm_stop_xrun() helper"), which converted the manual
snd_pcm_stop() calls with snd_pcm_stop_xrun().

The commit above introduced a deadlock as snd_pcm_stop_xrun() itself
takes the PCM stream lock while the caller already holds it.  Since
the conversion was done only for consistency reason and the open-call
with snd_pcm_stop() to the XRUN state is a correct usage, let's revert
the commit back as the fix.

Fixes: dc865fb9e7 ("ASoC: sti: Use snd_pcm_stop_xrun() helper")
Reported-by: Daniel Palmer <daniel@0x0f.com>
Cc: Arnaud POULIQUEN <arnaud.pouliquen@st.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220315091319.3351522-1-daniel@0x0f.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Link: https://lore.kernel.org/r/20220315164158.19804-1-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-28 09:57:08 +02:00
..
adi
amd ASoC: amd: Fix reference to PCM buffer address 2021-08-18 08:59:05 +02:00
atmel ASoC: atmel: ATMEL drivers don't need HAS_DMA 2021-09-18 13:40:17 +02:00
au1x
bcm
cirrus
codecs ASoC: cs4265: Fix the duplicated control name 2022-03-08 19:09:35 +01:00
dwc
fsl ASoC: fsl: Add missing error handling in pcm030_fabric_probe 2022-02-08 18:30:38 +01:00
generic ASoC: simple-card: fix possible uninitialized single_cpu local variable 2021-05-14 09:50:34 +02:00
hisilicon ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup() 2021-07-14 16:56:37 +02:00
img ASoC: img: Fix PM reference leak in img_i2s_in_probe() 2021-07-20 16:05:42 +02:00
intel ASoC: Intel: catpt: Test dmaengine_submit() result before moving on 2022-01-27 10:54:08 +01:00
jz4740 ASoC: jz4740-i2s: add missed checks for clk_get() 2020-12-30 11:53:35 +01:00
kirkwood
mediatek ASoC: mediatek: mt8183: fix device_node leak 2022-01-27 10:54:24 +01:00
meson ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s 2021-12-29 12:26:01 +01:00
mxs
pxa treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
qcom ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer 2021-12-14 11:32:41 +01:00
rockchip ASoC: rockchip: i2s: Fixup config for DAIFMT_DSP_A/B 2021-09-18 13:40:33 +02:00
samsung ASoC: samsung: idma: Check of ioremap return value 2022-01-27 10:54:08 +01:00
sh ASoC: rsnd: tidyup loop on rsnd_adg_clk_query() 2021-07-14 16:56:38 +02:00
sirf
sof ASoC: SOF: Intel: hda-dai: fix potential locking issue 2021-11-26 10:39:09 +01:00
spear
sprd
sti ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call 2022-03-28 09:57:08 +02:00
stm ASoC: stm32: dfsdm: change rate limits 2020-10-08 20:44:40 +01:00
sunxi ASoC: sunxi: sun4i-codec: fill ASoC card owner 2021-04-14 08:42:08 +02:00
tegra ASoC: tegra: Fix kcontrol put callback in AHUB 2021-12-08 09:03:25 +01:00
ti ASoC: ti: j721e-evm: Check for not initialized parent_clk_id 2021-08-08 09:05:23 +02:00
txx9 ASoC: txx9: Replace tasklet with work 2020-09-09 15:42:10 +01:00
uniphier ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA 2022-01-27 10:54:05 +01:00
ux500
xilinx ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes 2022-02-08 18:30:38 +01:00
xtensa
zte treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
Kconfig
Makefile
soc-ac97.c
soc-acpi.c
soc-card.c
soc-component.c ASoC: component: Remove misplaced prefix handling in pin control functions 2021-09-03 10:09:21 +02:00
soc-compress.c ASoC: soc-component: add mark for snd_soc_pcm_component_pm_runtime_get/put() 2020-09-28 17:01:44 +01:00
soc-core.c ASoC: soc-core: fix null-ptr-deref in snd_soc_del_component_unlocked() 2021-11-18 14:03:41 +01:00
soc-dai.c ASoC: soc-dai: add mark for snd_soc_dai_startup/shutdown() 2020-09-28 17:01:42 +01:00
soc-dapm.c ASoC: DAPM: Cover regression by kctl change notification fix 2021-11-26 10:39:21 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Document support for TX only or RX only streams 2020-10-09 15:11:20 +01:00
soc-jack.c
soc-link.c ASoC: soc-link: add mark for snd_soc_link_startup/shutdown() 2020-09-28 17:01:43 +01:00
soc-ops.c ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min 2022-03-08 19:09:31 +01:00
soc-pcm.c ASoC: soc-pcm: fix the return value in dpcm_apply_symmetry() 2021-07-20 16:05:43 +02:00
soc-topology.c ASoC: topology: Add missing rwsem around snd_ctl_remove() calls 2021-12-01 09:19:03 +01:00
soc-utils.c