diff options
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r-- | sound/usb/quirks.c | 23 |
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 */ | ||
664 | static 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 | */ |
666 | static int snd_usb_twitch_boot_quirk(struct usb_device *dev) | 679 | static 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; |