Commit ab2165e2 authored by Timo Gurr's avatar Timo Gurr Committed by Takashi Iwai
Browse files

ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8

The decibel volume range contains a negative maximum value resulting in
pipewire complaining about the device and effectivly having no sound
output. The wrong values also resulted in the headset sounding muted
already at a mixer level of about ~25%.

PipeWire BugLink: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1049

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=212897


Signed-off-by: default avatarTimo Gurr <timo.gurr@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210503110822.10222-1-tiwai@suse.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 266fd994
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -337,6 +337,13 @@ static const struct usbmix_name_map bose_companion5_map[] = {
	{ 0 }	/* terminator */
};

/* Sennheiser Communications Headset [PC 8], the dB value is reported as -6 negative maximum  */
static const struct usbmix_dB_map sennheiser_pc8_dB = {-9500, 0};
static const struct usbmix_name_map sennheiser_pc8_map[] = {
	{ 9, NULL, .dB = &sennheiser_pc8_dB },
	{ 0 }   /* terminator */
};

/*
 * Dell usb dock with ALC4020 codec had a firmware problem where it got
 * screwed up when zero volume is passed; just skip it as a workaround
@@ -593,6 +600,11 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
		.id = USB_ID(0x17aa, 0x1046),
		.map = lenovo_p620_rear_map,
	},
	{
		/* Sennheiser Communications Headset [PC 8] */
		.id = USB_ID(0x1395, 0x0025),
		.map = sennheiser_pc8_map,
	},
	{ 0 } /* terminator */
};