]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - sound/pci/cmipci.c
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-apm
[mv-sheeva.git] / sound / pci / cmipci.c
index 0093cd1f92db3ac352124dda27df0d9e42e6454a..70face7e104862b38cf7545136e4a26141b32d23 100644 (file)
@@ -2198,7 +2198,8 @@ static int _snd_cmipci_uswitch_put(struct snd_kcontrol *kcontrol,
                val = inb(cm->iobase + args->reg);
        else
                val = snd_cmipci_read(cm, args->reg);
-       change = (val & args->mask) != (ucontrol->value.integer.value[0] ? args->mask : 0);
+       change = (val & args->mask) != (ucontrol->value.integer.value[0] ? 
+                       args->mask_on : (args->mask & ~args->mask_on));
        if (change) {
                val &= ~args->mask;
                if (ucontrol->value.integer.value[0])
@@ -2862,7 +2863,7 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc
        cm->iobase = pci_resource_start(pci, 0);
 
        if (request_irq(pci->irq, snd_cmipci_interrupt,
-                       IRQF_DISABLED|IRQF_SHARED, card->driver, cm)) {
+                       IRQF_SHARED, card->driver, cm)) {
                snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
                snd_cmipci_free(cm);
                return -EBUSY;