summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Rastén <johan@oljud.se>2015-09-06 18:16:13 +0200
committerTakashi Iwai <tiwai@suse.de>2015-09-07 10:57:27 +0200
commit5ee20bc792467d7d612157e0a9962765aa943b08 (patch)
tree69b113a0fb4fbf70767d799d48db73713e03c81b
parentALSA: hda - Fix white noise on Dell M3800 (diff)
downloadlinux-5ee20bc792467d7d612157e0a9962765aa943b08.tar.xz
linux-5ee20bc792467d7d612157e0a9962765aa943b08.zip
ALSA: usb-audio: Change internal PCM order
New PCMs will now be added to the end of the chip's PCM list instead of to the front. This changes the way streams are combined so that the first capture stream will now be merged with the first playback stream instead of the last. This fixes a problem with ASUS U7. Cards with one playback stream and cards without capture streams should be unaffected by this change. Exception added for M-Audio Audiophile USB (tm) since it seems to have a fix to swap capture stream numbering in alsa-lib conf/cards/USB-audio.conf Signed-off-by: Johan Rastén <johan@oljud.se> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/stream.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/usb/stream.c b/sound/usb/stream.c
index 310a3822d2b7..970086015cde 100644
--- a/sound/usb/stream.c
+++ b/sound/usb/stream.c
@@ -377,7 +377,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);