ALSA: usb-audio: Fix Audio Advantage Micro II SPDIF switch
commit a9224f26b754b5034719248891ff3c2ea0d11144 upstream.
snd_microii_spdif_switch_put() returns 0 when the requested
vendor register value differs from the cached one.
This comparison was inverted by the resume-support conversion,
so real SPDIF switch toggles are ignored while no-op writes still
issue SET_CUR and report success.
Return early only when the requested value matches the cached one.
Fixes: 288673beae ("ALSA: usb-audio: Add resume support for MicroII SPDIF ctls")
Cc: stable@vger.kernel.org
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260421-microii-spdif-switch-fix-v1-1-5c50dc28b88f@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ulrich Hecht <uli@kernel.org>
This commit is contained in:
1 parent
51b7e58746
commit
de9a8e216d
1 file changed
+1
-1
@@ -1936,7 +1936,7 @@ static int snd_microii_spdif_switch_put(struct snd_kcontrol *kcontrol,
|
||||
int err;
|
||||
|
||||
reg = ucontrol->value.integer.value[0] ? 0x28 : 0x2a;
|
||||
if (reg != list->kctl->private_value)
|
||||
if (reg == list->kctl->private_value)
|
||||
return 0;
|
||||
|
||||
kcontrol->private_value = reg;
|
||||
|
||||
Reference in new issue
Block a user