linux/sound/soc/samsung
Charles Keepax 5faf071d08 ASoC: samsung: i2s: Fixup last IRQ unsafe spin lock call
Unfortunately, I seem to have missed a case where an IRQ safe spinlock was
required, in samsung_i2s_dai_remove, when I fixed up the other calls in
this patch:

316fa9e09a ("ASoC: samsung: Use IRQ safe spin lock calls")

This causes a lockdep warning when unbinding and rebinding the audio card:

[  104.357664]        CPU0                    CPU1
[  104.362174]        ----                    ----
[  104.366692]   lock(&(&pri_dai->spinlock)->rlock);
[  104.371372]                                local_irq_disable();
[  104.377283]                                lock(&(&substream->self_group.lock)->rlock);
[  104.385259]                                lock(&(&pri_dai->spinlock)->rlock);
[  104.392469]   <Interrupt>
[  104.395072]     lock(&(&substream->self_group.lock)->rlock);
[  104.400710]
[  104.400710]  *** DEADLOCK ***

Fixes: ce8bcdbb61 ("ASoC: samsung: i2s: Protect more registers with a spinlock")
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-10-24 19:00:01 +01:00
..
ac97.c ASoC: samsung: add missing \n to end of pr_err messages 2016-09-24 19:43:20 +01:00
arndale_rt5631.c Merge remote-tracking branches 'asoc/topic/au1x', 'asoc/topic/bcm2835', 'asoc/topic/blackfin' and 'asoc/topic/card' into asoc-next 2015-08-30 15:52:41 +01:00
bells.c ASoC: Vendor drivers get a link's runtime by snd_soc_get_pcm_runtime() 2015-11-18 18:32:24 +00:00
dma.h ASoC: samsung: Remove unused now unused struct s3c_dma_params 2016-08-08 11:55:20 +01:00
dmaengine.c ASoC: samsung: Remove unused now unused struct s3c_dma_params 2016-08-08 11:55:20 +01:00
h1940_uda1380.c ASoC: h1940_uda1380: Constify rate constraints 2015-10-23 08:49:03 +09:00
i2s-regs.h ASoC: samsung: add support for exynos7 I2S controller 2014-11-07 10:41:22 +00:00
i2s.c ASoC: samsung: i2s: Fixup last IRQ unsafe spin lock call 2016-10-24 19:00:01 +01:00
i2s.h ASoC: samsung: Allow setting OP_CLK of the IIS Multi Audio Interface 2014-05-20 23:20:57 +01:00
idma.c ASoC: samsung: Remove unused now unused struct s3c_dma_params 2016-08-08 11:55:20 +01:00
idma.h ASoC: Fix __iomem annotation for IDMA registers 2011-11-29 17:28:16 +00:00
jive_wm8750.c ASoC: jive: Automatically disconnect non-connected pins 2015-01-16 16:59:08 +00:00
Kconfig ASoC: exynos: organize the asoc audio into a menu 2016-09-24 19:35:01 +01:00
littlemill.c ASoC: Vendor drivers get a link's runtime by snd_soc_get_pcm_runtime() 2015-11-18 18:32:24 +00:00
ln2440sbc_alc650.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
lowland.c ASoC: lowland: Use card DAPM context to access widgets 2015-05-04 13:51:19 +01:00
Makefile ASoC: samsung: Remove unused Odroid x2/u3 machine driver 2016-05-30 16:20:03 +01:00
neo1973_wm8753.c ASoC: neo1973_wm8753: Use static DAI format setup 2015-01-06 17:34:30 +00:00
pcm.c ASoC: samsung: Drop usage of of struct s3c_dma_params from pcm.c 2016-08-08 11:55:20 +01:00
pcm.h
regs-ac97.h ASoC: samsung: Trivial cleanups in header files 2013-12-30 12:05:56 +00:00
regs-i2s-v2.h
regs-iis.h ASoC: samsung: Trivial cleanups in header files 2013-12-30 12:05:56 +00:00
rx1950_uda1380.c ASoC: rx1950_uda1380: Constify rate constraints 2015-10-23 08:49:16 +09:00
s3c24xx_simtec_hermes.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
s3c24xx_simtec_tlv320aic23.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
s3c24xx_simtec.c ASoC: s3c24xx_simtec: Use static DAI format setup 2015-01-06 17:34:30 +00:00
s3c24xx_simtec.h
s3c24xx_uda134x.c Merge remote-tracking branches 'asoc/topic/rt5659', 'asoc/topic/rt5660', 'asoc/topic/rt5677' and 'asoc/topic/samsung' into asoc-next 2016-09-29 12:44:37 -07:00
s3c24xx-i2s.c ASoC: samsung: Drop usage of struct s3c_dma_params from s3c24xx-i2s.c 2016-08-08 11:55:20 +01:00
s3c24xx-i2s.h
s3c2412-i2s.c ASoC: samsung: Drop usage of struct s3c_dma_params from s3c2412-i2s.c 2016-08-08 11:55:20 +01:00
s3c2412-i2s.h
s3c-i2s-v2.c ASoC: samsung: Remove unused now unused struct s3c_dma_params 2016-08-08 11:55:20 +01:00
s3c-i2s-v2.h ASoC: samsung: Drop usage of struct s3c_dma_params from s3c2412-i2s.c 2016-08-08 11:55:20 +01:00
smartq_wm8987.c ASoC: samsung/smartq: use dynamic registration 2015-12-01 21:50:24 +01:00
smdk2443_wm9710.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
smdk_spdif.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
smdk_wm8580.c ASoC: smdk_wm8580: Pass card DAPM context to snd_soc_dapm_disable_pin() 2015-01-16 16:59:36 +00:00
smdk_wm8580pcm.c ASoC: samsung: Remove unused now unused struct s3c_dma_params 2016-08-08 11:55:20 +01:00
smdk_wm8994.c ASoC: smdk_wm8994: Use card DAPM context to access widgets 2015-05-04 13:51:19 +01:00
smdk_wm8994pcm.c ASoC: samsung: Remove unused now unused struct s3c_dma_params 2016-08-08 11:55:20 +01:00
smdk_wm9713.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
snow.c ASoC: Vendor drivers get a link's runtime by snd_soc_get_pcm_runtime() 2015-11-18 18:32:24 +00:00
spdif.c ASoC: samsung: Drop usage of struct s3c_dma_params from spdif.c 2016-08-08 11:55:20 +01:00
spdif.h
speyside.c ASoC: Vendor drivers get a link's runtime by snd_soc_get_pcm_runtime() 2015-11-18 18:32:24 +00:00
tobermory.c ASoC: Vendor drivers get a link's runtime by snd_soc_get_pcm_runtime() 2015-11-18 18:32:24 +00:00