diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-12-13 09:29:52 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-12-13 09:29:52 +0100 |
commit | 354d14b3f53cc749c5d26d4ba7280d1e931d6bc4 (patch) | |
tree | 59b597e44902d8db8bde7deac1e7e707327c6fe6 /sound/pci/oxygen | |
parent | ALSA: aoa: Remove wrong i2c_set_clientdata in onyx_i2c_remove() (diff) | |
parent | sound: don't use flush_scheduled_work() (diff) | |
download | linux-354d14b3f53cc749c5d26d4ba7280d1e931d6bc4.tar.xz linux-354d14b3f53cc749c5d26d4ba7280d1e931d6bc4.zip |
Merge branch 'topic/workq-update' into topic/misc
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r-- | sound/pci/oxygen/oxygen_lib.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c index 3078ed66ad61..c44c91e6fb18 100644 --- a/sound/pci/oxygen/oxygen_lib.c +++ b/sound/pci/oxygen/oxygen_lib.c @@ -565,7 +565,8 @@ static void oxygen_card_free(struct snd_card *card) oxygen_shutdown(chip); if (chip->irq >= 0) free_irq(chip->irq, chip); - flush_scheduled_work(); + flush_work_sync(&chip->spdif_input_bits_work); + flush_work_sync(&chip->gpio_work); chip->model.cleanup(chip); kfree(chip->model_data); mutex_destroy(&chip->mutex); @@ -741,7 +742,8 @@ int oxygen_pci_suspend(struct pci_dev *pci, pm_message_t state) spin_unlock_irq(&chip->reg_lock); synchronize_irq(chip->irq); - flush_scheduled_work(); + flush_work_sync(&chip->spdif_input_bits_work); + flush_work_sync(&chip->gpio_work); chip->interrupt_mask = saved_interrupt_mask; pci_disable_device(pci); |