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

Commit def6149e authored by Joakim Tjernlund's avatar Joakim Tjernlund Committed by Greg Kroah-Hartman
Browse files

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: default avatarJoakim 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: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e711b6e1
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -1338,13 +1338,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)