These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / sound / usb / stream.c
index 310a382..8ee14f2 100644 (file)
@@ -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);