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

Commit 8e051ec2 authored by John Ernberg's avatar John Ernberg Committed by Greg Kroah-Hartman
Browse files

ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk

commit fc7c5c208eb7bc2df3a9f4234f14eca250001cb6 upstream.

The microphone in the Plantronics C320-M headset will randomly
fail to initialize properly, at least when using Microsoft Teams.
Introducing a 20ms delay on the control messages appears to
resolve the issue.

Link: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1065


Tested-by: default avatarAndreas Kempe <kempe@lysator.liu.se>
Signed-off-by: default avatarJohn Ernberg <john.ernberg@actia.se>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210303181405.39835-1-john.ernberg@actia.se


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 14e4d57c
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1338,6 +1338,14 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
	    && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
		msleep(20);

	/*
	 * Plantronics C320-M needs a delay to avoid random
	 * microhpone failures.
	 */
	if (chip->usb_id == USB_ID(0x047f, 0xc025)  &&
	    (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
		msleep(20);

	/* Zoom R16/24, many Logitech(at least H650e/H570e/BCC950),
	 * Jabra 550a, Kingston HyperX needs a tiny delay here,
	 * otherwise requests like get/set frequency return