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 cc16f95f9cef..28ac005c21b5 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) | |||
2373 | for (i = 0; i < 3; i++) | 2373 | for (i = 0; i < 3; i++) |
2374 | if (chip->ac97[i]) | 2374 | if (chip->ac97[i]) |
2375 | snd_ac97_suspend(chip->ac97[i]); | 2375 | snd_ac97_suspend(chip->ac97[i]); |
2376 | if (chip->irq >= 0) | ||
2377 | free_irq(chip->irq, (void *)chip); | ||
2376 | pci_disable_device(chip->pci); | 2378 | pci_disable_device(chip->pci); |
2377 | return 0; | 2379 | return 0; |
2378 | } | 2380 | } |
@@ -2384,7 +2386,9 @@ static int intel8x0_resume(snd_card_t *card) | |||
2384 | 2386 | ||
2385 | pci_enable_device(chip->pci); | 2387 | pci_enable_device(chip->pci); |
2386 | pci_set_master(chip->pci); | 2388 | pci_set_master(chip->pci); |
2387 | snd_intel8x0_chip_init(chip, 0); | 2389 | request_irq(chip->irq, snd_intel8x0_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip); |
2390 | synchronize_irq(chip->irq); | ||
2391 | snd_intel8x0_chip_init(chip, 1); | ||
2388 | 2392 | ||
2389 | /* refill nocache */ | 2393 | /* refill nocache */ |
2390 | if (chip->fix_nocache) | 2394 | if (chip->fix_nocache) |