]> git.kernelconcepts.de Git - karo-tx-linux.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Feb 2016 20:01:13 +0000 (12:01 -0800)
commit434e26d6f6a000b8585c0eb64764a55daff65d20
tree8376b41867619b33292f94e700e28a57490ac9b1
parent6deb0ec93da69d60f28c54b48d24c35e92b2155f
ALSA: hda - Cancel probe work instead of flush at remove

commit 0b8c82190c12e530eb6003720dac103bf63e146e upstream.

The commit [991f86d7ae4e: 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: 991f86d7ae4e ('ALSA: hda - Flush the pending probe work at remove')
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/hda_intel.c