diff mbox series

ALSA: usb-audio: Add delay quirk for all Logitech USB devices

Message ID 20201117122803.24310-1-joakim.tjernlund@infinera.com (mailing list archive)
State Accepted
Commit 54a2a3898f469a915510038fe84ef4f083131d3e
Headers show
Series ALSA: usb-audio: Add delay quirk for all Logitech USB devices | expand

Commit Message

Joakim Tjernlund Nov. 17, 2020, 12:28 p.m. UTC
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, 5.4)

---
 sound/usb/quirks.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Takashi Iwai Nov. 17, 2020, 12:47 p.m. UTC | #1
On Tue, 17 Nov 2020 13:28:03 +0100,
Joakim Tjernlund wrote:
> 
> 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, 5.4)

Thanks, applied now.


Takashi
diff mbox series

Patch

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index c989ad8052ae..c50be2f75f70 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1672,13 +1672,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)