summaryrefslogtreecommitdiffstats
path: root/sound/usb/quirks.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r--sound/usb/quirks.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index d7b0b0a3a2db..5d2a63248b1d 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1142,6 +1142,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
1142 case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */ 1142 case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */
1143 case USB_ID(0x05A3, 0x9420): /* ELP HD USB Camera */ 1143 case USB_ID(0x05A3, 0x9420): /* ELP HD USB Camera */
1144 case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */ 1144 case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */
1145 case USB_ID(0x1395, 0x740a): /* Sennheiser DECT */
1145 case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */ 1146 case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */
1146 case USB_ID(0x1de7, 0x0013): /* Phoenix Audio MT202exe */ 1147 case USB_ID(0x1de7, 0x0013): /* Phoenix Audio MT202exe */
1147 case USB_ID(0x1de7, 0x0014): /* Phoenix Audio TMX320 */ 1148 case USB_ID(0x1de7, 0x0014): /* Phoenix Audio TMX320 */
@@ -1308,10 +1309,13 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
1308 && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) 1309 && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
1309 mdelay(20); 1310 mdelay(20);
1310 1311
1311 /* Zoom R16/24 needs a tiny delay here, otherwise requests like 1312 /* Zoom R16/24, Logitech H650e, Jabra 550a needs a tiny delay here,
1312 * get/set frequency return as failed despite actually succeeding. 1313 * otherwise requests like get/set frequency return as failed despite
1314 * actually succeeding.
1313 */ 1315 */
1314 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)) &&
1315 (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) 1319 (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
1316 mdelay(1); 1320 mdelay(1);
1317} 1321}
@@ -1374,6 +1378,10 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
1374 } 1378 }
1375 } 1379 }
1376 break; 1380 break;
1381 case USB_ID(0x16d0, 0x0a23):
1382 if (fp->altsetting == 2)
1383 return SNDRV_PCM_FMTBIT_DSD_U32_BE;
1384 break;
1377 1385
1378 default: 1386 default:
1379 break; 1387 break;