aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/intel8x0.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/intel8x0.c')
-rw-r--r--sound/pci/intel8x0.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index 7cf2dcb9d8d4..202f720b34b9 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -2493,6 +2493,7 @@ static int intel8x0_resume(struct pci_dev *pci)
2493 return -EIO; 2493 return -EIO;
2494 } 2494 }
2495 pci_set_master(pci); 2495 pci_set_master(pci);
2496 snd_intel8x0_chip_init(chip, 0);
2496 if (request_irq(pci->irq, snd_intel8x0_interrupt, 2497 if (request_irq(pci->irq, snd_intel8x0_interrupt,
2497 IRQF_SHARED, card->shortname, chip)) { 2498 IRQF_SHARED, card->shortname, chip)) {
2498 printk(KERN_ERR "intel8x0: unable to grab IRQ %d, " 2499 printk(KERN_ERR "intel8x0: unable to grab IRQ %d, "
@@ -2502,7 +2503,6 @@ static int intel8x0_resume(struct pci_dev *pci)
2502 } 2503 }
2503 chip->irq = pci->irq; 2504 chip->irq = pci->irq;
2504 synchronize_irq(chip->irq); 2505 synchronize_irq(chip->irq);
2505 snd_intel8x0_chip_init(chip, 0);
2506 2506
2507 /* re-initialize mixer stuff */ 2507 /* re-initialize mixer stuff */
2508 if (chip->device_type == DEVICE_INTEL_ICH4 && !spdif_aclink) { 2508 if (chip->device_type == DEVICE_INTEL_ICH4 && !spdif_aclink) {
@@ -2862,16 +2862,7 @@ static int __devinit snd_intel8x0_create(struct snd_card *card,
2862 ICH_REG_ALI_INTERRUPTSR : ICH_REG_GLOB_STA; 2862 ICH_REG_ALI_INTERRUPTSR : ICH_REG_GLOB_STA;
2863 chip->int_sta_mask = int_sta_masks; 2863 chip->int_sta_mask = int_sta_masks;
2864 2864
2865 /* request irq after initializaing int_sta_mask, etc */
2866 if (request_irq(pci->irq, snd_intel8x0_interrupt,
2867 IRQF_SHARED, card->shortname, chip)) {
2868 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2869 snd_intel8x0_free(chip);
2870 return -EBUSY;
2871 }
2872 chip->irq = pci->irq;
2873 pci_set_master(pci); 2865 pci_set_master(pci);
2874 synchronize_irq(chip->irq);
2875 2866
2876 switch(chip->device_type) { 2867 switch(chip->device_type) {
2877 case DEVICE_INTEL_ICH4: 2868 case DEVICE_INTEL_ICH4:
@@ -2901,6 +2892,15 @@ static int __devinit snd_intel8x0_create(struct snd_card *card,
2901 return err; 2892 return err;
2902 } 2893 }
2903 2894
2895 /* request irq after initializaing int_sta_mask, etc */
2896 if (request_irq(pci->irq, snd_intel8x0_interrupt,
2897 IRQF_SHARED, card->shortname, chip)) {
2898 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2899 snd_intel8x0_free(chip);
2900 return -EBUSY;
2901 }
2902 chip->irq = pci->irq;
2903
2904 if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) { 2904 if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
2905 snd_intel8x0_free(chip); 2905 snd_intel8x0_free(chip);
2906 return err; 2906 return err;