summaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-12-01 08:36:05 +0100
committerTakashi Iwai <tiwai@suse.de>2009-12-01 08:36:05 +0100
commitef47bf386e2042c2e483b4ea0259233202ad3ebf (patch)
tree02baba407d2dbae9d367865c3d52d6e9400c8773 /sound/usb
parent306ecee926cf79f1b3b5f6035be09ef3d83f1b76 (diff)
parent8ee763b9c82c6ca0a59a7271ce4fa29d7baf5c09 (diff)
downloadlinux-ef47bf386e2042c2e483b4ea0259233202ad3ebf.tar.bz2
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/usbmixer.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c
index 9efcfd08d747..c998220b99c6 100644
--- a/sound/usb/usbmixer.c
+++ b/sound/usb/usbmixer.c
@@ -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