linux-brain/sound/pci
Takashi Iwai 7dc871b725 ALSA: hda - Fix pending unsol events at shutdown
[ Upstream commit ca58f55108fee41d87c9123f85ad4863e5de7f45 ]

This is an alternative fix attemp for the issue reported in the commit
caa8422d01 ("ALSA: hda: Flush interrupts on disabling") that was
reverted later due to regressions.  Instead of tweaking the hardware
disablement order and the enforced irq flushing, do calling
cancel_work_sync() of the unsol work early enough, and explicitly
ignore the unsol events during the shutdown by checking the
bus->shutdown flag.

Fixes: caa8422d01 ("ALSA: hda: Flush interrupts on disabling")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://lore.kernel.org/r/s5h1ruxt9cz.wl-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-17 20:39:22 +01:00
..
ac97 ALSA: ac97: Fix incorrect bit shift at AC97-SPSA control write 2018-12-05 19:41:24 +01:00
ali5451 ALSA: ali5451: constify snd_pcm_ops structures 2017-08-10 17:56:04 +02:00
asihpi ALSA: asihpi: Hardening for potential Spectre v1 2018-05-01 12:58:15 -07:00
au88x0 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
aw2 ALSA: aw2: make snd_pcm_hardware const 2017-08-12 23:31:39 +02:00
ca0106 ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops 2018-11-13 11:14:47 -08:00
cs46xx ALSA: cs46xx: Potential NULL dereference in probe 2019-01-13 10:01:04 +01:00
cs5535audio ALSA: cs5535audio: Fix invalid endian conversion 2018-08-22 07:46:09 +02:00
ctxfi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
echoaudio ALSA: echoaudio: add a check for ioremap_nocache 2019-04-20 09:15:00 +02:00
emu10k1 ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities 2019-01-09 17:14:46 +01:00
hda ALSA: hda - Fix pending unsol events at shutdown 2019-12-17 20:39:22 +01:00
ice1712 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
korg1212 ALSA: korg1212: make snd_pcm_hardware const 2017-08-12 23:31:42 +02:00
lola ALSA: lola: make snd_pcm_hardware const 2017-08-12 23:31:46 +02:00
lx6464es ALSA: lx6464es: make snd_pcm_hardware const 2017-08-12 23:31:48 +02:00
mixart ALSA: mixart: Delete an error message for a failed memory allocation in snd_mixart_create() 2017-08-12 23:33:20 +02:00
nm256 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
oxygen License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pcxhr ALSA: pcxhr: make snd_kcontrol_new const 2017-08-16 14:29:07 +02:00
riptide ALSA: riptide: make snd_pcm_hardware const 2017-08-12 23:31:53 +02:00
rme9652 ALSA: rme9652: Fix potential Spectre v1 vulnerability 2019-01-09 17:14:46 +01:00
trident ALSA: trident: Suppress gcc string warning 2018-12-08 13:03:38 +01:00
vx222 ALSA: vx222: Fix invalid endian conversions 2018-08-22 07:46:09 +02:00
ymfpci ALSA: ymfpci: Use common error handling code in snd_ymfpci_create() 2017-09-07 10:33:28 +02:00
ad1889.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
ad1889.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ak4531_codec.c ALSA: pci: Drop superfluous ifdef CONFIG_PROC_FS 2015-05-29 08:00:06 +02:00
als300.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
als4000.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
atiixp_modem.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
atiixp.c ALSA: atiixp: constify ac97_pcm structures 2017-08-23 15:53:39 +02:00
azt3328.c ALSA: azt3328: Constify hw_constraints 2017-06-09 10:42:49 +02:00
azt3328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bt87x.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
cmipci.c ALSA: cmipci: Use common error handling code in snd_cmipci_probe() 2017-08-22 20:06:10 +02:00
cs4281.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
cs5530.c ASoC: sb16: Simplify snd_sb16dsp_pcm() 2015-01-02 16:28:35 +01:00
ens1370.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
ens1371.c
es1938.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
es1968.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
fm801.c ALSA: fm801: add error handling for snd_ctl_add 2018-08-03 07:50:22 +02:00
intel8x0.c ALSA: intel8x0: constify ac97_pcm structures 2017-08-23 15:53:40 +02:00
intel8x0m.c ALSA: intel8x0m: Register irq handler after register initializations 2019-11-20 17:59:58 +01:00
Kconfig ALSA: seq: Allow the modular sequencer registration 2017-06-12 08:43:33 +02:00
maestro3.c ALSA: maestro3: Use common error handling code in two functions 2017-09-07 10:23:47 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rme32.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
rme96.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
sis7019.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
sis7019.h trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
sonicvibes.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
via82xx_modem.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00
via82xx.c ALSA: pci: make snd_pcm_hardware const 2017-08-12 23:31:58 +02:00