Skip to content

Commit

Permalink
ALSA: usb-audio: Change internal PCM order
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
JohanAR authored and tiwai committed Sep 7, 2015
1 parent 467e143 commit 5ee20bc
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion sound/usb/stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 5ee20bc

Please sign in to comment.