summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2021-03-04 09:50:09 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-17 16:43:47 +0100
commit3ddeb82b6dd6a16d3c0867173fa5a76231535dc4 (patch)
treed9a9115a2cb5c459f24c4d0c1273349e1b7cdfd0
parent2f9f44cec3a3a5d284be08079ab41e4024d68d83 (diff)
downloadlinux-stable-3ddeb82b6dd6a16d3c0867173fa5a76231535dc4.tar.gz
linux-stable-3ddeb82b6dd6a16d3c0867173fa5a76231535dc4.tar.bz2
linux-stable-3ddeb82b6dd6a16d3c0867173fa5a76231535dc4.zip
ALSA: usb-audio: Apply the control quirk to Plantronics headsets
commit 06abcb18b3a021ba1a3f2020cbefb3ed04e59e72 upstream. Other Plantronics headset models seem requiring the same workaround as C320-M to add the 20ms delay for the control messages, too. Apply the workaround generically for devices with the vendor ID 0x047f. Note that the problem didn't surface before 5.11 just with luck. Since 5.11 got a big code rewrite about the stream handling, the parameter setup procedure has changed, and this seemed triggering the problem more often. BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1182552 Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210304085009.4770-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--sound/usb/quirks.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index e9ffff3f3df0..f08da98d0192 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1340,10 +1340,10 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
msleep(20);
/*
- * Plantronics C320-M needs a delay to avoid random
- * microhpone failures.
+ * Plantronics headsets (C320, C320-M, etc) need a delay to avoid
+ * random microhpone failures.
*/
- if (chip->usb_id == USB_ID(0x047f, 0xc025) &&
+ if (USB_ID_VENDOR(chip->usb_id) == 0x047f &&
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
msleep(20);