diff options
Diffstat (limited to 'sound/pci/intel8x0.c')
-rw-r--r-- | sound/pci/intel8x0.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 8b33b12fa5dc..2a7e63b5757f 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -2367,6 +2367,8 @@ static int intel8x0_suspend(snd_card_t *card, pm_message_t state) | |||
2367 | for (i = 0; i < 3; i++) | 2367 | for (i = 0; i < 3; i++) |
2368 | if (chip->ac97[i]) | 2368 | if (chip->ac97[i]) |
2369 | snd_ac97_suspend(chip->ac97[i]); | 2369 | snd_ac97_suspend(chip->ac97[i]); |
2370 | if (chip->irq >= 0) | ||
2371 | free_irq(chip->irq, (void *)chip); | ||
2370 | pci_disable_device(chip->pci); | 2372 | pci_disable_device(chip->pci); |
2371 | return 0; | 2373 | return 0; |
2372 | } | 2374 | } |
@@ -2378,7 +2380,9 @@ static int intel8x0_resume(snd_card_t *card) | |||
2378 | 2380 | ||
2379 | pci_enable_device(chip->pci); | 2381 | pci_enable_device(chip->pci); |
2380 | pci_set_master(chip->pci); | 2382 | pci_set_master(chip->pci); |
2381 | snd_intel8x0_chip_init(chip, 0); | 2383 | request_irq(chip->irq, snd_intel8x0_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip); |
2384 | synchronize_irq(chip->irq); | ||
2385 | snd_intel8x0_chip_init(chip, 1); | ||
2382 | 2386 | ||
2383 | /* refill nocache */ | 2387 | /* refill nocache */ |
2384 | if (chip->fix_nocache) | 2388 | if (chip->fix_nocache) |