Skip to content

Commit

Permalink
ALSA: usb - Quirk to disable master volume control in PCM2702
Browse files Browse the repository at this point in the history
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: Javier Kohen <jkohen@users.sourceforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Javier Kohen authored and Takashi Iwai committed Nov 17, 2009
1 parent 828d445 commit 0c3cee5
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions sound/usb/usbmixer.c
Original file line number Diff line number Diff line change
Expand Up @@ -1071,6 +1071,15 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, unsig
channels = (ftr[0] - 7) / csize - 1;

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)
first_ch_bits = snd_usb_combine_bytes(ftr + 6 + csize, csize);
else
Expand Down

0 comments on commit 0c3cee5

Please sign in to comment.