]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerSasha Levin <sasha.levin@oracle.com>
Fri, 4 Mar 2016 15:25:43 +0000 (10:25 -0500)
commit800b26634a89a88bbbc341c4d1e84f5141c1e38a
tree06c8bba626691b1d9a34b437d6b92655511be6cd
parentd26d8b485d21ecc9e466b2a1e02c5962e46624de
ALSA: hda - Cancel probe work instead of flush at remove

[ Upstream commit 0b8c82190c12e530eb6003720dac103bf63e146e ]

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')
Cc: <stable@vger.kernel.org> # v3.17+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
sound/pci/hda/hda_intel.c