summaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2005-07-29 23:31:17 -0400
committerLen Brown <len.brown@intel.com>2005-07-29 23:31:17 -0400
commitd6ac1a7910d22626bc77e73db091e00b810715f4 (patch)
treec8f235b7287056a03bc2bc032902469a331b5e56 /sound/pci
parent577a4f8102d54b504cb22eb021b89e957e8df18f (diff)
parent87bec66b9691522414862dd8d41e430b063735ef (diff)
/home/lenb/src/to-linus branch 'acpi-2.6.12'
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/intel8x0.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index cc16f95f9ce..28ac005c21b 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -2373,6 +2373,8 @@ static int intel8x0_suspend(snd_card_t *card, pm_message_t state)
for (i = 0; i < 3; i++)
if (chip->ac97[i])
snd_ac97_suspend(chip->ac97[i]);
+ if (chip->irq >= 0)
+ free_irq(chip->irq, (void *)chip);
pci_disable_device(chip->pci);
return 0;
}
@@ -2384,7 +2386,9 @@ static int intel8x0_resume(snd_card_t *card)
pci_enable_device(chip->pci);
pci_set_master(chip->pci);
- snd_intel8x0_chip_init(chip, 0);
+ request_irq(chip->irq, snd_intel8x0_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip);
+ synchronize_irq(chip->irq);
+ snd_intel8x0_chip_init(chip, 1);
/* refill nocache */
if (chip->fix_nocache)