Skip to content

Commit

Permalink
[ALSA] ymfpci - Fix race at removal
Browse files Browse the repository at this point in the history
free_irq() must be called first to avoid races at removal.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Takashi Iwai committed Apr 24, 2008
1 parent cd97f47 commit 95866d3
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions sound/pci/ymfpci/ymfpci_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2249,6 +2249,8 @@ static int snd_ymfpci_free(struct snd_ymfpci *chip)
#ifdef CONFIG_PM
vfree(chip->saved_regs);
#endif
if (chip->irq >= 0)
free_irq(chip->irq, chip);
release_and_free_resource(chip->mpu_res);
release_and_free_resource(chip->fm_res);
snd_ymfpci_free_gameport(chip);
Expand All @@ -2257,8 +2259,6 @@ static int snd_ymfpci_free(struct snd_ymfpci *chip)
if (chip->work_ptr.area)
snd_dma_free_pages(&chip->work_ptr);

if (chip->irq >= 0)
free_irq(chip->irq, chip);
release_and_free_resource(chip->res_reg_area);

pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl);
Expand Down

0 comments on commit 95866d3

Please sign in to comment.