diff options
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r-- | sound/usb/quirks.c | 14 |
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; |