mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
ALSA: snd-usb: fix clock source validity index
commit aff252a848 upstream.
uac_clock_source_is_valid() uses the control selector value to access
the bmControls bitmap of the clock source unit. This is wrong, as
control selector values start from 1, while the bitmap uses all
available bits.
In other words, "Clock Validity Control" is stored in D3..2, not D5..4
of the clock selector unit's bmControls.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Andreas Koch <andreas@akdesigninc.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
aeaab8a0fe
commit
f45cd6dfe0
@@ -111,7 +111,8 @@ static bool uac_clock_source_is_valid(struct snd_usb_audio *chip, int source_id)
|
||||
return 0;
|
||||
|
||||
/* If a clock source can't tell us whether it's valid, we assume it is */
|
||||
if (!uac2_control_is_readable(cs_desc->bmControls, UAC2_CS_CONTROL_CLOCK_VALID))
|
||||
if (!uac2_control_is_readable(cs_desc->bmControls,
|
||||
UAC2_CS_CONTROL_CLOCK_VALID - 1))
|
||||
return 1;
|
||||
|
||||
err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_CUR,
|
||||
|
||||
Reference in New Issue
Block a user