linux/sound/soc
Shengjiu Wang f3bf888507 ASoC: fsl_spdif: Fix unexpected interrupt after suspend
[ Upstream commit a7a0a2feb9 ]

When system enter suspend, the machine driver suspend callback
function will be called, then the cpu driver trigger callback
(SNDRV_PCM_TRIGGER_SUSPEND) be called, it would disable the
interrupt.

But the machine driver suspend and cpu dai driver suspend order
maybe changed, the cpu dai driver's suspend callback is called before
machine driver's suppend callback, then the interrupt is not cleared
successfully in trigger callback.

So need to clear interrupts in cpu dai driver's suspend callback
to avoid such issue.

Fixes: 9cb2b3796e ("ASoC: fsl_spdif: Add pm runtime function")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/1624365084-7934-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2021-07-14 16:56:48 +02:00
..
adi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
amd ASoC: amd: fix for pcm_read() error 2021-06-16 12:01:34 +02:00
atmel ASoC: atmel-i2s: Fix usage of capture and playback at the same time 2021-07-14 16:56:48 +02:00
au1x ASoC: au1x: use asoc_substream_to_rtd() 2020-07-23 19:07:36 +01:00
bcm ASoC: bcm2835: Silence clk_get() error on -EPROBE_DEFER 2020-07-28 17:04:07 +01:00
cirrus ASoC: cirrus: use asoc_substream_to_rtd() 2020-07-23 19:07:28 +01:00
codecs ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK 2021-07-14 16:56:46 +02:00
dwc ASoC: dwc: use asoc_substream_to_rtd() 2020-07-23 19:07:34 +01:00
fsl ASoC: fsl_spdif: Fix unexpected interrupt after suspend 2021-07-14 16:56:48 +02: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-parallel-out: Fix a reference count leak 2020-06-15 20:58:35 +01:00
intel ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake 2021-07-14 16:56:48 +02:00
jz4740 ASoC: jz4740-i2s: add missed checks for clk_get() 2020-12-30 11:53:35 +01:00
kirkwood ASoC: kirkwood: use asoc_substream_to_rtd() 2020-07-23 19:07:41 +01:00
mediatek ASoC: mediatek: mtk-btcvsd: Fix an error handling path in 'mtk_btcvsd_snd_probe()' 2021-07-14 16:56:43 +02:00
meson ASoC: meson: axg-tdmin: fix axg skew offset 2021-01-19 18:27:29 +01:00
mxs ASoC: mxs: use asoc_substream_to_rtd() 2020-07-23 19:07:43 +01:00
pxa treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
qcom ASoC: qcom: lpass-cpu: Fix pop noise during audio capture begin 2021-06-23 14:42:49 +02:00
rockchip Linux 5.9-rc5 2020-10-06 16:19:24 +01:00
samsung ASoC: samsung: tm2_wm5110: check of of_parse return value 2021-05-14 09:49:57 +02:00
sh ASoC: rsnd: tidyup loop on rsnd_adg_clk_query() 2021-07-14 16:56:38 +02:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: Intel: HDA: fix core status verification 2021-04-14 08:42:06 +02:00
spear ASoC: spear: merge .digital_mute() into .mute_stream() 2020-07-16 23:06:08 +01:00
sprd ASoC: various vendors: delete repeated words in comments 2020-08-18 14:52:32 +01:00
sti ASoC: sti: uniperif: fix 'defined by not used' warning 2020-07-10 15:13:44 +01: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: trimslice.c: use devm_snd_soc_register_card() 2020-10-01 20:28:17 +01:00
ti ASoC: ti: davinci-mcasp: Use &pdev->dev for early dev_warn 2020-10-08 21:16:52 +01:00
txx9 ASoC: txx9: Replace tasklet with work 2020-09-09 15:42:10 +01:00
uniphier ASoC: uniphier: use asoc_substream_to_rtd() 2020-07-23 19:07:43 +01:00
ux500 ASoC: ux500: use asoc_substream_to_rtd() 2020-07-23 19:07:20 +01:00
xilinx sound: remove duplicate "the the" phrase in Kconfig text 2020-08-18 14:52:43 +01:00
xtensa ASoC: xtensa: use asoc_substream_to_rtd() 2020-07-23 19:07:42 +01:00
zte treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile ASoC: soc-component: merge soc-io.c into soc-component.c 2020-06-15 18:21:26 +01:00
soc-ac97.c ASoC: soc-ac97: fix kernel-doc 2020-07-03 17:33:46 +01:00
soc-acpi.c ASoC: soc-acpi: fix implicit header use of module.h/export.h 2019-05-08 18:06:28 +09:00
soc-card.c ASoC: soc-card: add snd_soc_card_remove_dai_link() 2020-05-30 02:11:42 +01:00
soc-component.c ASoC: soc-component: add mark for snd_soc_pcm_component_pm_runtime_get/put() 2020-09-28 17:01:44 +01: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: core: Fix Null-point-dereference in fmt_single_name() 2021-06-16 12:01:45 +02: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: remove widget from dirty list on free 2021-01-19 18:27:17 +01:00
soc-devres.c ASoC: core: Remove only the registered component in devm functions 2020-07-07 11:55:46 +01:00
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 ASoC: soc-card: move snd_soc_card_jack_new() to soc-card 2020-05-30 02:11:28 +01:00
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: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() 2020-06-22 15:13:36 +01:00
soc-pcm.c ASoC: pcm: DRAIN support reactivation 2020-12-30 11:53:02 +01:00
soc-topology.c ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() 2021-02-03 23:28:51 +01:00
soc-utils.c ASoC: soc-xxx: add asoc_substream_to_rtd() 2020-07-23 19:07:19 +01:00