summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@infinera.com>2020-11-17 13:28:03 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-11-24 13:39:08 +0100
commitdead6fe9d033aff2ace8a687cb04a9492fd59b0c (patch)
tree43a76f76c362c76ff169c9d316cb25b9349ef8d9
parent6e0d4970139835f55e9762225bfdc4656aef2c35 (diff)
downloadlinux-stable-dead6fe9d033aff2ace8a687cb04a9492fd59b0c.tar.gz
linux-stable-dead6fe9d033aff2ace8a687cb04a9492fd59b0c.tar.bz2
linux-stable-dead6fe9d033aff2ace8a687cb04a9492fd59b0c.zip
ALSA: usb-audio: Add delay quirk for all Logitech USB devices
commit 54a2a3898f469a915510038fe84ef4f083131d3e upstream. Found one more Logitech device, BCC950 ConferenceCam, which needs the same delay here. This makes 3 out of 3 devices I have tried. Therefore, add a delay for all Logitech devices as it does not hurt. Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com> Cc: <stable@vger.kernel.org> # 4.19.y, 5.4.y Link: https://lore.kernel.org/r/20201117122803.24310-1-joakim.tjernlund@infinera.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--sound/usb/quirks.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index fd1dbe9acd74..8ad15396033c 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1678,13 +1678,13 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
&& (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
msleep(20);
- /* Zoom R16/24, Logitech H650e/H570e, Jabra 550a, Kingston HyperX
- * needs a tiny delay here, otherwise requests like get/set
- * frequency return as failed despite actually succeeding.
+ /* 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
+ * as failed despite actually succeeding.
*/
if ((chip->usb_id == USB_ID(0x1686, 0x00dd) ||
- chip->usb_id == USB_ID(0x046d, 0x0a46) ||
- chip->usb_id == USB_ID(0x046d, 0x0a56) ||
+ USB_ID_VENDOR(chip->usb_id) == 0x046d || /* Logitech */
chip->usb_id == USB_ID(0x0b0e, 0x0349) ||
chip->usb_id == USB_ID(0x0951, 0x16ad)) &&
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)