summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@infinera.com>2017-08-22 02:33:53 -0400
committerTakashi Iwai <tiwai@suse.de>2017-08-22 05:15:15 -0400
commit07b3b5e9ed807a0d2077319b8e43a42e941db818 (patch)
treef4c52c8ce485c7753b7d58aede6cd1e60c72d76f
parentdbd7396b4f24e0c3284fcc05f5def24f52c09884 (diff)
ALSA: usb-audio: Add delay quirk for H650e/Jabra 550a USB headsets
These headsets reports a lot of: cannot set freq 44100 to ep 0x81 and need a small delay between sample rate settings, just like Zoom R16/24. Add both headsets to the Zoom R16/24 quirk for a 1 ms delay between control msgs. Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/quirks.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 6a03f9697039..5d2a63248b1d 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1309,10 +1309,13 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
1309 && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) 1309 && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
1310 mdelay(20); 1310 mdelay(20);
1311 1311
1312 /* Zoom R16/24 needs a tiny delay here, otherwise requests like 1312 /* Zoom R16/24, Logitech H650e, Jabra 550a needs a tiny delay here,
1313 * get/set frequency return as failed despite actually succeeding. 1313 * otherwise requests like get/set frequency return as failed despite
1314 * actually succeeding.
1314 */ 1315 */
1315 if (chip->usb_id == USB_ID(0x1686, 0x00dd) && 1316 if ((chip->usb_id == USB_ID(0x1686, 0x00dd) ||
1317 chip->usb_id == USB_ID(0x046d, 0x0a46) ||
1318 chip->usb_id == USB_ID(0x0b0e, 0x0349)) &&
1316 (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) 1319 (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
1317 mdelay(1); 1320 mdelay(1);
1318} 1321}