aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/oxygen
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-12-13 03:29:52 -0500
committerTakashi Iwai <tiwai@suse.de>2010-12-13 03:29:52 -0500
commit354d14b3f53cc749c5d26d4ba7280d1e931d6bc4 (patch)
tree59b597e44902d8db8bde7deac1e7e707327c6fe6 /sound/pci/oxygen
parent5144c534d16529bc469396211131e8935589f833 (diff)
parent5b84ba26a9672e615897234fa5efd3eea2d6b295 (diff)
Merge branch 'topic/workq-update' into topic/misc
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r--sound/pci/oxygen/oxygen_lib.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c
index 3078ed66ad6..c44c91e6fb1 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)
565 oxygen_shutdown(chip); 565 oxygen_shutdown(chip);
566 if (chip->irq >= 0) 566 if (chip->irq >= 0)
567 free_irq(chip->irq, chip); 567 free_irq(chip->irq, chip);
568 flush_scheduled_work(); 568 flush_work_sync(&chip->spdif_input_bits_work);
569 flush_work_sync(&chip->gpio_work);
569 chip->model.cleanup(chip); 570 chip->model.cleanup(chip);
570 kfree(chip->model_data); 571 kfree(chip->model_data);
571 mutex_destroy(&chip->mutex); 572 mutex_destroy(&chip->mutex);
@@ -741,7 +742,8 @@ int oxygen_pci_suspend(struct pci_dev *pci, pm_message_t state)
741 spin_unlock_irq(&chip->reg_lock); 742 spin_unlock_irq(&chip->reg_lock);
742 743
743 synchronize_irq(chip->irq); 744 synchronize_irq(chip->irq);
744 flush_scheduled_work(); 745 flush_work_sync(&chip->spdif_input_bits_work);
746 flush_work_sync(&chip->gpio_work);
745 chip->interrupt_mask = saved_interrupt_mask; 747 chip->interrupt_mask = saved_interrupt_mask;
746 748
747 pci_disable_device(pci); 749 pci_disable_device(pci);