linux/sound/pci/hda
Mohan Kumar 636aa8807b ALSA: hda: Fix crash due to jack poll in suspend
With jackpoll_in_suspend flag set, there is a possibility that
jack poll worker thread will run even after system suspend was
completed. Any register access after system pm callback flow
will result in kernel crash as still jack poll worker thread
tries to access registers.

To fix the crash issue during system flow, cancel the jack poll
worker thread during system pm prepare callback and cancel the
worker thread at start of runtime suspend callback and re-schedule
at last to avoid any unwarranted access of register by worker thread
during suspend flow.

Signed-off-by: Mohan Kumar <mkumard@nvidia.com>
Fixes: b33115bd05 ("ALSA: hda: Jack detection poll in suspend state")
Link: https://lore.kernel.org/r/20220811052704.2944-1-mkumard@nvidia.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-11 07:44:59 +02:00
..
ca0132_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
cs35l41_hda_i2c.c ALSA: hda: cs35l41: Support CLSA0101 2022-07-28 11:36:17 +02:00
cs35l41_hda_spi.c ALSA: hda: cs35l41: Support Hibernation during Suspend 2022-07-15 16:21:39 +02:00
cs35l41_hda.c ALSA: hda: cs35l41: Support CLSA0101 2022-07-28 11:36:17 +02:00
cs35l41_hda.h ALSA: hda: cs35l41: Support Firmware switching and reloading 2022-07-15 16:23:29 +02:00
hda_auto_parser.c ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly 2022-06-15 07:28:51 +02:00
hda_auto_parser.h ALSA: hda/cirrus: Increase AUTO_CFG_MAX_INS from 8 to 18 2021-03-07 09:17:30 +01:00
hda_beep.c ALSA: Use fallthrough pseudo-keyword 2020-07-09 13:01:29 +02:00
hda_beep.h ALSA: hda - Use standard device registration for beep 2019-01-29 18:28:09 +01:00
hda_bind.c ALSA: hda: Fix null-ptr-deref when i915 fails and hdmi is denylisted 2022-07-09 18:35:39 +02:00
hda_codec.c ALSA: hda: Fix crash due to jack poll in suspend 2022-08-11 07:44:59 +02:00
hda_component.h ALSA: hda: cs35l41: Support Hibernation during Suspend 2022-07-15 16:21:39 +02:00
hda_controller_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_controller.c ALSA: hda: Make proper use of timecounter 2021-11-29 17:42:31 +01:00
hda_controller.h ALSA: hda: intel: Allow repeatedly probing on codec configuration errors 2021-10-07 09:15:22 +02:00
hda_cs_dsp_ctl.c ALSA: hda: hda_cs_dsp_ctl: Add fw id strings 2022-07-15 16:23:00 +02:00
hda_cs_dsp_ctl.h ALSA: hda: hda_cs_dsp_ctl: Add fw id strings 2022-07-15 16:23:00 +02:00
hda_eld.c ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
hda_generic.c ALSA: hda: Fix UAF of leds class devs at unbinding 2022-01-26 15:56:35 +01:00
hda_generic.h ALSA: hda: Fix UAF of leds class devs at unbinding 2022-01-26 15:56:35 +01:00
hda_hwdep.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
hda_intel_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_intel.c ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID 2022-06-07 07:57:04 +02:00
hda_intel.h ALSA: hda: intel: Allow repeatedly probing on codec configuration errors 2021-10-07 09:15:22 +02:00
hda_jack.c ALSA: hda: Do disconnect jacks at codec unbind 2021-11-17 14:41:16 +01:00
hda_jack.h ALSA: hda: Do disconnect jacks at codec unbind 2021-11-17 14:41:16 +01:00
hda_local.h ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly 2022-06-15 07:28:51 +02:00
hda_proc.c ALSA: hda/proc - print DP-MST connections 2020-12-08 20:04:33 +01:00
hda_sysfs.c ALSA: hda: Replace sprintf() with sysfs_emit() 2022-08-02 16:03:47 +02:00
hda_tegra.c ALSA: hda/tegra: Enable Jack poll for tegra 2022-04-12 11:34:30 +02:00
hp_x360_helper.c ALSA: hda/realtek - Fixup for HP x360 laptops with B&O speakers 2018-05-29 22:33:37 +02:00
ideapad_s740_helper.c ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740 2021-04-16 10:12:50 +02:00
Kconfig Revert "ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations" 2022-07-15 20:25:13 +02:00
Makefile ALSA: hda: hda_cs_dsp_ctl: Add Library to support CS_DSP ALSA controls 2022-07-14 11:19:37 +02:00
patch_analog.c ALSA: hda/analog - Sink ad198x_shutup() and shuffle CONFIG_PM guards 2021-08-18 07:51:09 +02:00
patch_ca0110.c ALSA: hda: Unify get_response handling 2019-12-13 14:36:52 +01:00
patch_ca0132.c ALSA: hda: Nuke unused reboot_notify callback 2021-08-14 08:39:38 +02:00
patch_cirrus.c ALSA: hda/cirrus - support for iMac 12,1 model 2022-08-11 07:41:43 +02:00
patch_cmedia.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
patch_conexant.c ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model 2022-08-08 10:18:58 +02:00
patch_cs8409-tables.c ALSA: hda/cs8409: change cs8409_fixups v.pins initializers to static 2022-07-05 09:45:21 +02:00
patch_cs8409.c ALSA: hda/cs8409: Add Speaker Playback Switch for Warlock 2022-05-12 11:52:36 +02:00
patch_cs8409.h ALSA: hda/cs8409: change cs8409_fixups v.pins initializers to static 2022-07-05 09:45:21 +02:00
patch_hdmi.c ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID 2022-06-07 07:57:04 +02:00
patch_realtek.c ALSA: hda/realtek: Add a quirk for HP OMEN 15 (8786) mute LED 2022-08-09 17:08:35 +02:00
patch_si3054.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
patch_sigmatel.c ALSA: hda/sigmatel - Sink stac_shutup() into stac_suspend() 2021-08-18 07:51:02 +02:00
patch_via.c ALSA: hda/via: Fix missing beep setup 2022-06-20 12:40:42 +02:00
thinkpad_helper.c ALSA: HDA - remove the custom implementation for the audio LED trigger 2021-03-30 15:35:15 +02:00