Commit 634703d8 authored by Samuel Thibault's avatar Samuel Thibault Committed by Petr Vandrovec

[PATCH] sound/oss/maestro.c

Disable volume control irq on maestro module unload.
parent 4a91b05f
...@@ -3573,9 +3573,18 @@ maestro_probe(struct pci_dev *pcidev,const struct pci_device_id *pdid) ...@@ -3573,9 +3573,18 @@ maestro_probe(struct pci_dev *pcidev,const struct pci_device_id *pdid)
static void maestro_remove(struct pci_dev *pcidev) { static void maestro_remove(struct pci_dev *pcidev) {
struct ess_card *card = pci_get_drvdata(pcidev); struct ess_card *card = pci_get_drvdata(pcidev);
int i; int i;
u32 n;
/* XXX maybe should force stop bob, but should be all /* XXX maybe should force stop bob, but should be all
stopped by _release by now */ stopped by _release by now */
/* Turn off hardware volume control interrupt.
This has to come before we leave the IRQ below,
or a crash results if a button is pressed ! */
n = inw(card->iobase+0x18);
n&=~(1<<6);
outw(n, card->iobase+0x18);
free_irq(card->irq, card); free_irq(card->irq, card);
unregister_sound_mixer(card->dev_mixer); unregister_sound_mixer(card->dev_mixer);
for(i=0;i<NR_DSPS;i++) for(i=0;i<NR_DSPS;i++)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment