ALSA: ens1371: Fix "Line In->Rear Out Switch" control
authorTakashi Iwai <tiwai@suse.de>
Tue, 19 Apr 2016 13:28:39 +0000 (15:28 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 19 Apr 2016 13:28:39 +0000 (15:28 +0200)
The "Line In->Rear Out Switch" control on ens1371 driver returns a
bogus value, always true, as its check is totally broken.  Fix it to
check the proper GPIO bit mask.

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/ens1370.c

index 0dc44eb..626cd21 100644 (file)
@@ -1548,7 +1548,7 @@ static int snd_es1373_line_get(struct snd_kcontrol *kcontrol,
        int val = 0;
        
        spin_lock_irq(&ensoniq->reg_lock);
-       if ((ensoniq->ctrl & ES_1371_GPIO_OUTM) >= 4)
+       if (ensoniq->ctrl & ES_1371_GPIO_OUT(4))
                val = 1;
        ucontrol->value.integer.value[0] = val;
        spin_unlock_irq(&ensoniq->reg_lock);