diff options
Diffstat (limited to 'kernel/sound/usb/stream.c')
-rw-r--r-- | kernel/sound/usb/stream.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/sound/usb/stream.c b/kernel/sound/usb/stream.c index 310a3822d..8ee14f236 100644 --- a/kernel/sound/usb/stream.c +++ b/kernel/sound/usb/stream.c @@ -92,6 +92,7 @@ static void snd_usb_init_substream(struct snd_usb_stream *as, subs->direction = stream; subs->dev = as->chip->dev; subs->txfr_quirk = as->chip->txfr_quirk; + subs->tx_length_quirk = as->chip->tx_length_quirk; subs->speed = snd_usb_get_speed(subs->dev); subs->pkt_offset_adj = 0; @@ -377,7 +378,15 @@ int snd_usb_add_audio_stream(struct snd_usb_audio *chip, snd_usb_init_substream(as, stream, fp); - list_add(&as->list, &chip->pcm_list); + /* + * Keep using head insertion for M-Audio Audiophile USB (tm) which has a + * fix to swap capture stream order in conf/cards/USB-audio.conf + */ + if (chip->usb_id == USB_ID(0x0763, 0x2003)) + list_add(&as->list, &chip->pcm_list); + else + list_add_tail(&as->list, &chip->pcm_list); + chip->pcm_devs++; snd_usb_proc_pcm_format_add(as); |