diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-01-12 10:09:24 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-01-12 10:33:56 +0100 |
commit | 6acaed38a32e8571e92cfc832b971f9e4450c207 (patch) | |
tree | a3d4bff13d946744b38dce3f48ad530d23e74bf7 /sound/pci/hda/hda_beep.c | |
parent | 4b558991049c12689e5fd645222864b8a80730f1 (diff) | |
download | lwn-6acaed38a32e8571e92cfc832b971f9e4450c207.tar.gz lwn-6acaed38a32e8571e92cfc832b971f9e4450c207.zip |
ALSA: hda - Use own workqueue
snd-hda-intel driver used schedule_work() fot the delayed DMA pointer
updates, but this has several potential problems:
- it may block other eventsd works longer
- it may deadlock when probing fails and flush_scheduled_work() is
called during probe callback (as probe callback itself could be
invoked from eventd)
This patch adds an own workq for each driver instance to solve these
problems.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_beep.c')
-rw-r--r-- | sound/pci/hda/hda_beep.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_beep.c b/sound/pci/hda/hda_beep.c index e00421c0d8ba..960fd7970384 100644 --- a/sound/pci/hda/hda_beep.c +++ b/sound/pci/hda/hda_beep.c @@ -135,7 +135,6 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) struct hda_beep *beep = codec->beep; if (beep) { cancel_work_sync(&beep->beep_work); - flush_scheduled_work(); input_unregister_device(beep->dev); kfree(beep); |