diff options
Diffstat (limited to 'sound/pci/intel8x0.c')
-rw-r--r-- | sound/pci/intel8x0.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 7c806bd9cc90..d7af3e474432 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -2376,6 +2376,9 @@ static int intel8x0_suspend(snd_card_t *card, pm_message_t state) | |||
2376 | snd_ac97_suspend(chip->ac97[i]); | 2376 | snd_ac97_suspend(chip->ac97[i]); |
2377 | if (chip->device_type == DEVICE_INTEL_ICH4) | 2377 | if (chip->device_type == DEVICE_INTEL_ICH4) |
2378 | chip->sdm_saved = igetbyte(chip, ICHREG(SDM)); | 2378 | chip->sdm_saved = igetbyte(chip, ICHREG(SDM)); |
2379 | |||
2380 | if (chip->irq >= 0) | ||
2381 | free_irq(chip->irq, (void *)chip); | ||
2379 | pci_disable_device(chip->pci); | 2382 | pci_disable_device(chip->pci); |
2380 | return 0; | 2383 | return 0; |
2381 | } | 2384 | } |
@@ -2387,7 +2390,9 @@ static int intel8x0_resume(snd_card_t *card) | |||
2387 | 2390 | ||
2388 | pci_enable_device(chip->pci); | 2391 | pci_enable_device(chip->pci); |
2389 | pci_set_master(chip->pci); | 2392 | pci_set_master(chip->pci); |
2390 | snd_intel8x0_chip_init(chip, 0); | 2393 | request_irq(chip->irq, snd_intel8x0_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip); |
2394 | synchronize_irq(chip->irq); | ||
2395 | snd_intel8x0_chip_init(chip, 1); | ||
2391 | 2396 | ||
2392 | /* re-initialize mixer stuff */ | 2397 | /* re-initialize mixer stuff */ |
2393 | if (chip->device_type == DEVICE_INTEL_ICH4) { | 2398 | if (chip->device_type == DEVICE_INTEL_ICH4) { |