]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: hda - Cancel probe work instead of flush at remove
authorTakashi Iwai <tiwai@suse.de>
Mon, 15 Feb 2016 15:37:24 +0000 (16:37 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 15 Feb 2016 15:37:24 +0000 (16:37 +0100)
commitfc1d1063a0d2975d035b2c8e547ec273bb4b74e8
tree6ca56c5838570dd620b6addceceb8ea56b8d839c
parentc0ec806fcaf614c3d338c8c1a0764df76349c7dc
ALSA: hda - Cancel probe work instead of flush at remove

The commit [ab3c347cfd0b: ALSA: hda - Flush the pending probe work at
remove] introduced the sync of async probe work at remove for fixing
the race.  However, this may lead to another hangup when the module
removal is performed quickly before starting the probe work, because
it issues flush_work() and it's blocked forever.

The workaround is to use cancel_work_sync() instead of flush_work()
there.

Fixes: ab3c347cfd0b ('ALSA: hda - Flush the pending probe work at remove')
Cc: <stable@vger.kernel.org> # v3.17+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c