Skip to content

Commit

Permalink
ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset
Browse files Browse the repository at this point in the history
As per discussion at: https://github.com/szszoke/sennheiser-gsp670-pulseaudio-profile/issues/13

The GSP670 has 2 playback and 1 recording device that by default are
detected in an incompatible order for alsa. This may have been done to make
it compatible for the console by the manufacturer and only affects the
latest firmware which uses its own ID.

This quirk will resolve this by reordering the channels.

Signed-off-by: Brendan Grieve <brendan@grieve.com.au>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20211015025335.196592-1-brendan@grieve.com.au
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Brendan Grieve authored and Takashi Iwai committed Oct 15, 2021
1 parent aef454b commit 3c414eb
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions sound/usb/quirks-table.h
Original file line number Diff line number Diff line change
Expand Up @@ -4012,6 +4012,38 @@ YAMAHA_DEVICE(0x7010, "UB99"),
}
}
},
{
/*
* Sennheiser GSP670
* Change order of interfaces loaded
*/
USB_DEVICE(0x1395, 0x0300),
.bInterfaceClass = USB_CLASS_PER_INTERFACE,
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = &(const struct snd_usb_audio_quirk[]) {
// Communication
{
.ifnum = 3,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
// Recording
{
.ifnum = 4,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
// Main
{
.ifnum = 1,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = -1
}
}
}
},

#undef USB_DEVICE_VENDOR_SPEC
#undef USB_AUDIO_DEVICE

0 comments on commit 3c414eb

Please sign in to comment.