[PATCH] 2.6.13-rc3-git5: fix Bug #4416 (1/2)

From: Rafael J. Wysocki
Date: Tue Jul 26 2005 - 06:05:35 EST


The following patch adds free_irq() and request_irq() to the suspend and
resume, respectively, routines in the snd_intel8x0 driver.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>

--- linux-2.6.13-rc3-git5/sound/pci/intel8x0.c 2005-07-23 19:26:43.000000000 +0200
+++ patched/sound/pci/intel8x0.c 2005-07-25 18:21:36.000000000 +0200
@@ -2373,6 +2373,8 @@ static int intel8x0_suspend(snd_card_t *
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,14 @@ static int intel8x0_resume(snd_card_t *c

pci_enable_device(chip->pci);
pci_set_master(chip->pci);
- snd_intel8x0_chip_init(chip, 0);
+ if (request_irq(chip->irq, snd_intel8x0_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip)) {
+ snd_printk("unable to grab IRQ %d\n", chip->irq);
+ chip->irq = -1;
+ pci_disable_device(chip->pci);
+ return -EBUSY;
+ }
+ synchronize_irq(chip->irq);
+ snd_intel8x0_chip_init(chip, 1);

/* refill nocache */
if (chip->fix_nocache)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/