]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
ALSA: hda/ca0132 - Fix possible workqueue stall
authorTakashi Iwai <tiwai@suse.de>
Tue, 5 Nov 2019 13:43:16 +0000 (14:43 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 26 Nov 2019 12:16:05 +0000 (13:16 +0100)
commitc36493f97692e730465d3763626faf6c6030527d
treed0019c4cb771ca2d75a48fe4e662dde47fd3c3ee
parent05bfb5432e2704a84a5a5b8f3f9fd1d1351c847a
ALSA: hda/ca0132 - Fix possible workqueue stall

BugLink: https://bugs.launchpad.net/bugs/1853519
commit 15c2b3cc09a31620914955cb2a89c277c18ee999 upstream.

The unsolicited event handler for the headphone jack on CA0132 codec
driver tries to reschedule the another delayed work with
cancel_delayed_work_sync().  It's no good idea, unfortunately,
especially after we changed the work queue to the standard global
one; this may lead to a stall because both works are using the same
global queue.

Fix it by dropping the _sync but does call cancel_delayed_work()
instead.

Fixes: 993884f6a26c ("ALSA: hda/ca0132 - Delay HP amp turnon.")
BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1155836
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20191105134316.19294-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
sound/pci/hda/patch_ca0132.c