Commit 0c3cee57 authored by Javier Kohen's avatar Javier Kohen Committed by Takashi Iwai

ALSA: usb - Quirk to disable master volume control in PCM2702

Disable the master volume control in the PCM2702 chipset.

The datasheet documents two independent channel volume controls, one
master mute control and one master volume control. All controls are
fully functional except for the master volume control, which returns
USB stalls on all GET requests.
Signed-off-by: default avatarJavier Kohen <jkohen@users.sourceforge.net>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 828d4453
...@@ -1071,6 +1071,15 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, unsig ...@@ -1071,6 +1071,15 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, unsig
channels = (ftr[0] - 7) / csize - 1; channels = (ftr[0] - 7) / csize - 1;
master_bits = snd_usb_combine_bytes(ftr + 6, csize); master_bits = snd_usb_combine_bytes(ftr + 6, csize);
/* master configuration quirks */
switch (state->chip->usb_id) {
case USB_ID(0x08bb, 0x2702):
snd_printk(KERN_INFO
"usbmixer: master volume quirk for PCM2702 chip\n");
/* disable non-functional volume control */
master_bits &= ~(1 << (USB_FEATURE_VOLUME - 1));
break;
}
if (channels > 0) if (channels > 0)
first_ch_bits = snd_usb_combine_bytes(ftr + 6 + csize, csize); first_ch_bits = snd_usb_combine_bytes(ftr + 6 + csize, csize);
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment