summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorJohn Ernberg <john.ernberg@actia.se>2021-03-03 18:14:39 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-17 17:06:26 +0100
commitd77540ada71b77f1613fe37e3fb8267eca3897a5 (patch)
tree346383450bffd9b8d16cf47ac04235fb395d9ed6 /sound
parentd291b2594f8503b07db7b67de1fc8d13e39db384 (diff)
downloadlinux-stable-d77540ada71b77f1613fe37e3fb8267eca3897a5.tar.gz
linux-stable-d77540ada71b77f1613fe37e3fb8267eca3897a5.tar.bz2
linux-stable-d77540ada71b77f1613fe37e3fb8267eca3897a5.zip
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: Andreas Kempe <kempe@lysator.liu.se> Signed-off-by: John 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: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/usb/quirks.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index f82c2ab809c1..d280978564e8 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1672,6 +1672,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