[alsa-devel] [PATCH] usb-audio: Set the Control Selector to SU_SELECTOR_CONTROL for UAC2
Takashi Iwai
tiwai at suse.de
Mon Nov 17 14:04:24 CET 2014
At Mon, 17 Nov 2014 08:39:33 +0100,
Johan Rastén wrote:
>
> Specified in section 5.2.5.6.1 of the USB Audio Class 2.0 definition.
>
> Solves the following error for C-Media 6632A (Asus Xonar U7):
> [ 8219.676164] cannot get ctl value: req = 0x81, wValue = 0x0, wIndex = 0x1400, type = 3
>
> Signed-off-by: Johan Rastén <johan at oljud.se>
Thanks, applied.
Takashi
> ---
> sound/usb/mixer.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
> index 14e1455..c6209ce 100644
> --- a/sound/usb/mixer.c
> +++ b/sound/usb/mixer.c
> @@ -2032,10 +2032,11 @@ static int parse_audio_selector_unit(struct mixer_build *state, int unitid,
> cval->res = 1;
> cval->initialized = 1;
>
> - if (desc->bDescriptorSubtype == UAC2_CLOCK_SELECTOR)
> - cval->control = UAC2_CX_CLOCK_SELECTOR;
> - else
> + if (state->mixer->protocol == UAC_VERSION_1)
> cval->control = 0;
> + else /* UAC_VERSION_2 */
> + cval->control = (desc->bDescriptorSubtype == UAC2_CLOCK_SELECTOR) ?
> + UAC2_CX_CLOCK_SELECTOR : UAC2_SU_SELECTOR;
>
> namelist = kmalloc(sizeof(char *) * desc->bNrInPins, GFP_KERNEL);
> if (!namelist) {
> --
> 2.1.0
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
More information about the Alsa-devel
mailing list