[alsa-devel] [PATCH] ALSA: snd-usb: fix clock source validity index
Takashi Iwai
tiwai at suse.de
Wed Aug 1 10:26:04 CEST 2012
At Wed, 1 Aug 2012 10:16:53 +0200,
Daniel Mack wrote:
>
> 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 at gmail.com>
> Reported-by: Andreas Koch <andreas at akdesigninc.com>
> Cc: stable at kernel.org
Applied now. Thanks.
Takashi
> ---
> sound/usb/clock.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/sound/usb/clock.c b/sound/usb/clock.c
> index 379baad..5e634a2 100644
> --- a/sound/usb/clock.c
> +++ b/sound/usb/clock.c
> @@ -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,
> --
> 1.7.11.2
>
More information about the Alsa-devel
mailing list