aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/quirks.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r--sound/usb/quirks.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 0df9ede99dfd..89730707614c 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -660,10 +660,23 @@ static int snd_usb_cm6206_boot_quirk(struct usb_device *dev)
660 return err; 660 return err;
661} 661}
662 662
663/* quirk for Plantronics GameCom 780 with CM6302 chip */
664static int snd_usb_gamecon780_boot_quirk(struct usb_device *dev)
665{
666 /* set the initial volume and don't change; other values are either
667 * too loud or silent due to firmware bug (bko#65251)
668 */
669 u8 buf[2] = { 0x74, 0xdc };
670 return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), UAC_SET_CUR,
671 USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_OUT,
672 UAC_FU_VOLUME << 8, 9 << 8, buf, 2);
673}
674
663/* 675/*
664 * Novation Twitch DJ controller 676 * Novation Twitch DJ controller
677 * Focusrite Novation Saffire 6 USB audio card
665 */ 678 */
666static int snd_usb_twitch_boot_quirk(struct usb_device *dev) 679static int snd_usb_novation_boot_quirk(struct usb_device *dev)
667{ 680{
668 /* preemptively set up the device because otherwise the 681 /* preemptively set up the device because otherwise the
669 * raw MIDI endpoints are not active */ 682 * raw MIDI endpoints are not active */
@@ -972,9 +985,9 @@ int snd_usb_apply_boot_quirk(struct usb_device *dev,
972 /* Digidesign Mbox 2 */ 985 /* Digidesign Mbox 2 */
973 return snd_usb_mbox2_boot_quirk(dev); 986 return snd_usb_mbox2_boot_quirk(dev);
974 987
975 case USB_ID(0x1235, 0x0018): 988 case USB_ID(0x1235, 0x0010): /* Focusrite Novation Saffire 6 USB */
976 /* Focusrite Novation Twitch */ 989 case USB_ID(0x1235, 0x0018): /* Focusrite Novation Twitch */
977 return snd_usb_twitch_boot_quirk(dev); 990 return snd_usb_novation_boot_quirk(dev);
978 991
979 case USB_ID(0x133e, 0x0815): 992 case USB_ID(0x133e, 0x0815):
980 /* Access Music VirusTI Desktop */ 993 /* Access Music VirusTI Desktop */
@@ -986,6 +999,8 @@ int snd_usb_apply_boot_quirk(struct usb_device *dev,
986 return snd_usb_nativeinstruments_boot_quirk(dev); 999 return snd_usb_nativeinstruments_boot_quirk(dev);
987 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */ 1000 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */
988 return snd_usb_fasttrackpro_boot_quirk(dev); 1001 return snd_usb_fasttrackpro_boot_quirk(dev);
1002 case USB_ID(0x047f, 0xc010): /* Plantronics Gamecom 780 */
1003 return snd_usb_gamecon780_boot_quirk(dev);
989 } 1004 }
990 1005
991 return 0; 1006 return 0;