On Fri, 2020-11-13 at 16:37 +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. Maybe this delay should just be default for all USB audio devices? Jocke > > Signed-off-by: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx> > CC: stable@xxxxxxxxxxxxxxx (4.19, 5.4) > > --- > sound/usb/quirks.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > 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)