aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/usb/endpoint.c2
-rw-r--r--sound/usb/quirks-table.h54
-rw-r--r--sound/usb/urb.c5
3 files changed, 61 insertions, 0 deletions
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
index b1309cdc1ac0..7b84b61a0784 100644
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -317,6 +317,8 @@ int snd_usb_parse_audio_endpoints(struct snd_usb_audio *chip, int iface_no)
317 break; 317 break;
318 case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */ 318 case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */
319 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ 319 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
320 case USB_ID(0x0763, 0x2080): /* M-Audio Fast Track Ultra 8 */
321 case USB_ID(0x0763, 0x2081): /* M-Audio Fast Track Ultra 8R */
320 /* doesn't set the sample rate attribute, but supports it */ 322 /* doesn't set the sample rate attribute, but supports it */
321 fp->attributes |= UAC_EP_CS_ATTR_SAMPLE_RATE; 323 fp->attributes |= UAC_EP_CS_ATTR_SAMPLE_RATE;
322 break; 324 break;
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 81c5f8a312ce..91ddef31bcbd 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -1826,6 +1826,60 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1826 } 1826 }
1827 } 1827 }
1828}, 1828},
1829{
1830 USB_DEVICE(0x0763, 0x2080),
1831 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1832 /* .vendor_name = "M-Audio", */
1833 /* .product_name = "Fast Track Ultra 8", */
1834 .ifnum = QUIRK_ANY_INTERFACE,
1835 .type = QUIRK_COMPOSITE,
1836 .data = & (const struct snd_usb_audio_quirk[]) {
1837 {
1838 .ifnum = 0,
1839 .type = QUIRK_IGNORE_INTERFACE
1840 },
1841 {
1842 .ifnum = 1,
1843 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1844 },
1845 {
1846 .ifnum = 2,
1847 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1848 },
1849 /* interface 3 (MIDI) is standard compliant */
1850 {
1851 .ifnum = -1
1852 }
1853 }
1854 }
1855},
1856{
1857 USB_DEVICE(0x0763, 0x2081),
1858 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1859 /* .vendor_name = "M-Audio", */
1860 /* .product_name = "Fast Track Ultra 8R", */
1861 .ifnum = QUIRK_ANY_INTERFACE,
1862 .type = QUIRK_COMPOSITE,
1863 .data = & (const struct snd_usb_audio_quirk[]) {
1864 {
1865 .ifnum = 0,
1866 .type = QUIRK_IGNORE_INTERFACE
1867 },
1868 {
1869 .ifnum = 1,
1870 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1871 },
1872 {
1873 .ifnum = 2,
1874 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1875 },
1876 /* interface 3 (MIDI) is standard compliant */
1877 {
1878 .ifnum = -1
1879 }
1880 }
1881 }
1882},
1829 1883
1830/* Casio devices */ 1884/* Casio devices */
1831{ 1885{
diff --git a/sound/usb/urb.c b/sound/usb/urb.c
index ad50d4398921..e2b7c4784246 100644
--- a/sound/usb/urb.c
+++ b/sound/usb/urb.c
@@ -918,6 +918,11 @@ void snd_usb_init_substream(struct snd_usb_stream *as,
918 case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */ 918 case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */
919 subs->ops.retire_sync = retire_playback_sync_urb_hs_emu; 919 subs->ops.retire_sync = retire_playback_sync_urb_hs_emu;
920 break; 920 break;
921 case USB_ID(0x0763, 0x2080): /* M-Audio Fast Track Ultra 8 */
922 case USB_ID(0x0763, 0x2081): /* M-Audio Fast Track Ultra 8R */
923 subs->ops.prepare_sync = prepare_playback_sync_urb;
924 subs->ops.retire_sync = retire_playback_sync_urb;
925 break;
921 } 926 }
922 } 927 }
923 928