[ALSA] _snd_cmipci_uswitch_put doesn't set zero flags
authorTimofei V. Bondarenko <tim@ipi.ac.ru>
Wed, 20 Dec 2006 18:20:07 +0000 (19:20 +0100)
committerJaroslav Kysela <perex@suse.cz>
Tue, 9 Jan 2007 08:06:18 +0000 (09:06 +0100)
commit8c670714223d58086695d007b76b3e3ead54e4f5
treed2a1010beb44676e193db7718ac3fbd08d1b7b21
parent6afeb11de5b28e47adea1459c35e598bb98424d6
[ALSA] _snd_cmipci_uswitch_put doesn't set zero flags

Playing with spdif output on cmipci i've noticed the SPDO5V option does
not change appropriate bits the register.
The _snd_cmipci_uswitch_put checks the change in flags in wrong way.
If 'active' state of an option corresponds to a _zero_ bits in a hw
register then function fails. The SPDO5V is the sample.
In the most cases 'active' state of option is set through an non-zerio
bits in a register. This case works fine.
The fix attached.
Unfortunately i was unable to change spdif output voltage anyway.
Although the register changes right at least.
From: Timofei V. Bondarenko <tim@ipi.ac.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/pci/cmipci.c