WSL2-Linux-Kernel/sound
Kai Vehmanen fd64f8bc06 ASoC: rt5682: do not block workqueue if card is unbound
[ Upstream commit 4c33de0673 ]

The current rt5682_jack_detect_handler() assumes the component
and card will always show up and implements an infinite usleep
loop waiting for them to show up.

This does not hold true if a codec interrupt (or other
event) occurs when the card is unbound. The codec driver's
remove  or shutdown functions cannot cancel the workqueue due
to the wait loop. As a result, code can either end up blocking
the workqueue, or hit a kernel oops when the card is freed.

Fix the issue by rescheduling the jack detect handler in
case the card is not ready. In case card never shows up,
the shutdown/remove/suspend calls can now cancel the detect
task.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20220207153000.3452802-3-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-08 19:12:29 +01:00
..
ac97
aoa
arm
atmel
core ALSA: seq: Set upper limit of processed events 2022-01-27 11:05:00 +01:00
drivers ALSA: drivers: opl3: Fix incorrect use of vp->state 2021-12-29 12:28:50 +01:00
firewire ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later 2021-11-18 19:16:57 +01:00
hda ALSA: hda: Make proper use of timecounter 2022-01-27 11:04:07 +01:00
i2c
isa ALSA: gus: fix null pointer dereference on pointer block 2021-11-25 09:48:30 +01:00
mips
oss
parisc
pci ALSA: hda: Fix missing codec probe on Shenker Dock 15 2022-02-23 12:03:13 +01:00
pcmcia
ppc
sh
soc ASoC: rt5682: do not block workqueue if card is unbound 2022-03-08 19:12:29 +01:00
sparc
spi
synth ALSA: synth: missing check for possible NULL after the call to kstrdup 2021-11-18 19:15:55 +01:00
usb ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra 2022-02-23 12:03:13 +01:00
virtio
x86
xen
Kconfig
Makefile
ac97_bus.c
last.c
sound_core.c