linux-sg2042/sound/soc
Olivier Moysan 2859b17840
ASoC: stm32: spdifrx: fix inconsistent lock state
In current spdifrx driver locks may be requested as follows:
- request lock on iec capture control, when starting synchronization.
- request lock in interrupt context, when spdifrx stop is called
from IRQ handler.

Take lock with IRQs disabled, to avoid the possible deadlock.

Lockdep report:
[   74.278059] ================================
[   74.282306] WARNING: inconsistent lock state
[   74.290120] --------------------------------
...
[   74.314373]        CPU0
[   74.314377]        ----
[   74.314381]   lock(&(&spdifrx->lock)->rlock);
[   74.314396]   <Interrupt>
[   74.314400]     lock(&(&spdifrx->lock)->rlock);

Fixes: 03e4d5d56f ("ASoC: stm32: Add SPDIFRX support")

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Link: https://lore.kernel.org/r/20191204154333.7152-2-olivier.moysan@st.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-12-24 23:56:16 +00:00
..
adi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
amd ASoC: AMD: Enable clk in startup intead of hw_params 2019-11-27 12:50:08 +00:00
atmel ASoC: atmel: atmel-pcm-pdc: remove snd_pcm_ops 2019-10-08 13:42:57 +01:00
au1x ASoC: au1x: dma: remove snd_pcm_ops 2019-10-08 13:43:14 +01:00
bcm ASoC: bcm: cygnus-pcm: remove snd_pcm_ops 2019-10-08 13:49:12 +01:00
cirrus ASoC: ep93xx: use devm_platform_ioremap_resource() to simplify code 2019-09-04 13:48:22 +01:00
codecs ASoC: wm8962: fix lambda value 2019-12-16 11:47:28 +00:00
dwc ASoC: dwc: dwc-pcm: remove snd_pcm_ops 2019-10-08 13:48:35 +01:00
fsl ASoC: fsl_audmix: Add spin lock to protect tdms 2019-11-11 13:01:37 +00:00
generic ASoC: simple-card: Don't create separate link when platform is present 2019-12-10 13:10:40 +00:00
hisilicon treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
img treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
intel ASoC: Intel: common: work-around incorrect ACPI HID for CML boards 2019-12-10 13:11:50 +00:00
jz4740 ASoC: jz4740: Remove unused match variable 2019-10-09 10:58:01 +01:00
kirkwood Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
mediatek ASoC: mediatek: Check SND_SOC_CROS_EC_CODEC dependency 2019-10-23 17:45:34 +01:00
meson ASoC: meson: remove snd_pcm_ops 2019-10-08 13:47:40 +01:00
mxs ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
pxa ASoC: pxa: poodle: Spelling s/enpoints/endpoints/, s/connetion/connection/ 2019-10-25 11:07:15 +01:00
qcom ASoC: qcom: q6asm-dai: add support to flac decoder 2019-11-18 13:02:35 +00:00
rockchip Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
samsung ASoC: samsung: idma: remove snd_pcm_ops 2019-10-08 13:46:14 +01:00
sh Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev 2019-12-24 23:56:13 +00:00
spear ASoC: spear: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:06:18 +01:00
sprd ASoC: sprd: sprd-pcm-dma: remove snd_pcm_ops 2019-10-08 13:44:40 +01:00
sti ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
stm ASoC: stm32: spdifrx: fix inconsistent lock state 2019-12-24 23:56:16 +00:00
sunxi ASoC: sunxi: sun4i-codec: remove unneeded semicolon 2019-10-28 13:12:39 +00:00
tegra ASoC: tegra: disable rx_fifo after disable stream 2019-10-25 11:07:33 +01:00
ti ASoC: ti: davinci-mcasp: Use dma_request_chan() directly for channel request 2019-11-15 12:03:16 +00:00
txx9 ASoC: txx9: txx9aclc: remove snd_pcm_ops 2019-10-08 13:44:23 +01:00
uniphier ASoC: uniphier: aio-dma: remove snd_pcm_ops 2019-10-08 13:44:05 +01:00
ux500 ASoC: ux500: Remove redundant variable "status" 2019-11-04 13:22:25 +00:00
xilinx ASoC: xilinx: xlnx_formatter_pcm: remove snd_pcm_ops 2019-10-08 13:43:44 +01:00
xtensa ASoC: xtensa: xtfpga-i2s: remove snd_pcm_ops 2019-10-08 13:43:25 +01:00
zte ASoC: zx-tdm: remove redundant assignment to ts_width on error return path 2019-08-01 13:56:26 +01:00
Kconfig ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
Makefile ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: fix implicit header use of module.h/export.h 2019-05-08 18:06:28 +09:00
soc-component.c ASoC: soc-component: tidyup snd_soc_pcm_component_new/free() parameter 2019-11-19 18:22:40 +00:00
soc-compress.c ASoC: core: Init pcm runtime work early to avoid warnings 2019-12-04 11:15:30 +00:00
soc-core.c ASoC: core: Fix access to uninitialized list heads 2019-12-24 23:56:15 +00:00
soc-dai.c ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c 2019-07-23 18:14:26 +01:00
soc-dapm.c ASoC: soc-core: add snd_soc_dapm_init() 2019-09-02 13:21:20 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Use dma_request_chan() directly for channel request 2019-11-15 12:02:58 +00:00
soc-io.c
soc-jack.c ASoC: add soc-component.c 2019-08-05 16:16:19 +01:00
soc-ops.c ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() 2019-10-03 14:37:20 +01:00
soc-pcm.c ASoC: core: Init pcm runtime work early to avoid warnings 2019-12-04 11:15:30 +00:00
soc-topology.c ASoC: topology: Check return value for soc_tplg_pcm_create() 2019-12-10 13:10:21 +00:00
soc-utils.c ASoC: soc-utils: remove snd_pcm_ops 2019-10-08 13:50:43 +01:00