summaryrefslogtreecommitdiffstats
path: root/sound/usb/usbaudio.c
diff options
context:
space:
mode:
authorThibault Le Meur <Thibault.LeMeur@supelec.fr>2007-07-13 11:50:23 +0200
committerJaroslav Kysela <perex@suse.cz>2007-07-20 11:11:52 +0200
commitcac19c3ba123369b7c1199e20bb01fb265004ff5 (patch)
tree10598290eb75ce54fcd988afbc7e58a0da4ffbcb /sound/usb/usbaudio.c
parent[ALSA] hda: stac9202 mixer fix (diff)
downloadlinux-cac19c3ba123369b7c1199e20bb01fb265004ff5.tar.xz
linux-cac19c3ba123369b7c1199e20bb01fb265004ff5.zip
[ALSA] usb-audio - Fix AC3 with M-Audio Audiophile USB
Fixed AC3 interface in device_setup=0x00 mode thanks to Hakan Lennestal and updated documentation Signed-off-by: Thibault Le Meur <Thibault.LeMeur@supelec.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/usb/usbaudio.c')
-rw-r--r--sound/usb/usbaudio.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
index 834b0aff5ec1..7bd5852fcc0d 100644
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -2532,7 +2532,18 @@ static int parse_audio_format_i(struct snd_usb_audio *chip, struct audioformat *
* but we give normal PCM format to get the existing
* apps working...
*/
- pcm_format = SNDRV_PCM_FORMAT_S16_LE;
+ switch (chip->usb_id) {
+
+ case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
+ if (device_setup[chip->index] == 0x00 &&
+ fp->altsetting == 6)
+ pcm_format = SNDRV_PCM_FORMAT_S16_BE;
+ else
+ pcm_format = SNDRV_PCM_FORMAT_S16_LE;
+ break;
+ default:
+ pcm_format = SNDRV_PCM_FORMAT_S16_LE;
+ }
} else {
pcm_format = parse_audio_format_i_type(chip, fp, format, fmt);
if (pcm_format < 0)