Message ID | 1416209973-7773-1-git-send-email-johan@oljud.se (mailing list archive) |
---|---|
State | Accepted |
Commit | a358a0ef861dae6f8330fb034aaa43adae71ebc1 |
Headers | show |
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@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@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
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) {
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@oljud.se> --- sound/usb/mixer.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)