diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-04-22 11:28:11 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-04-24 06:00:41 -0400 |
commit | ebf029da38829ede6b53ac8a5ad45b149064ea16 (patch) | |
tree | aebf6bddd245a874577fc321978b3f7137e8ac39 /sound/pci/korg1212 | |
parent | 6b9a9b329640b7e8143df7b2782884ea758650f7 (diff) |
[ALSA] Fix possible races at free_irq in PCI drivers
The irq handler of PCI drivers must be released before releasing other
resources since the handler for a shared irq can be still called and
may access the freed resource again.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/korg1212')
-rw-r--r-- | sound/pci/korg1212/korg1212.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c index 10c713d9ac49..f4c85b52bde3 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c | |||
@@ -2102,7 +2102,6 @@ snd_korg1212_free(struct snd_korg1212 *korg1212) | |||
2102 | snd_korg1212_TurnOffIdleMonitor(korg1212); | 2102 | snd_korg1212_TurnOffIdleMonitor(korg1212); |
2103 | 2103 | ||
2104 | if (korg1212->irq >= 0) { | 2104 | if (korg1212->irq >= 0) { |
2105 | synchronize_irq(korg1212->irq); | ||
2106 | snd_korg1212_DisableCardInterrupts(korg1212); | 2105 | snd_korg1212_DisableCardInterrupts(korg1212); |
2107 | free_irq(korg1212->irq, korg1212); | 2106 | free_irq(korg1212->irq, korg1212); |
2108 | korg1212->irq = -1; | 2107 | korg1212->irq = -1; |