Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76146312 authored by Timo Gurr's avatar Timo Gurr Committed by Greg Kroah-Hartman
Browse files

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

commit ab2165e2e6ed17345ffa8ee88ca764e8788ebcd7 upstream.

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>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent aee5453a
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -351,6 +351,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
@@ -633,5 +640,10 @@ static const struct usbmix_ctl_map uac3_badd_usbmix_ctl_maps[] = {
		.id = UAC3_FUNCTION_SUBCLASS_SPEAKERPHONE,
		.map = uac3_badd_speakerphone_map,
	},
	{
		/* Sennheiser Communications Headset [PC 8] */
		.id = USB_ID(0x1395, 0x0025),
		.map = sennheiser_pc8_map,
	},
	{ 0 } /* terminator */
};