From 48dd97998012c7adb1bdb3b5b8131dd3e0ef080f Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Mon, 14 Apr 2008 13:14:22 +0200 Subject: [PATCH] --- yaml --- r: 92195 b: refs/heads/master c: 2a56f51bcc3650ecff806450f7fdab5edf57618f h: refs/heads/master i: 92193: 0fdf4fd06e1bacd874e18ad32fcbbf51ae2ec18a 92191: d78780c74f03955caa658fd195f759e3aab2c9d9 v: v3 --- [refs] | 2 +- trunk/sound/usb/usbaudio.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index d929dc8719c6..d13c92bdd20a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b9d43bcd061956c8144bcb453d07d13236b6ab28 +refs/heads/master: 2a56f51bcc3650ecff806450f7fdab5edf57618f diff --git a/trunk/sound/usb/usbaudio.c b/trunk/sound/usb/usbaudio.c index ff2e09a46133..26fb5769d951 100644 --- a/trunk/sound/usb/usbaudio.c +++ b/trunk/sound/usb/usbaudio.c @@ -1427,8 +1427,8 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt) subs->cur_audiofmt = fmt; #if 0 - printk("setting done: format = %d, rate = %d, channels = %d\n", - fmt->format, fmt->rate, fmt->channels); + printk("setting done: format = %d, rate = %d..%d, channels = %d\n", + fmt->format, fmt->rate_min, fmt->rate_max, fmt->channels); printk(" datapipe = 0x%0x, syncpipe = 0x%0x\n", subs->datapipe, subs->syncpipe); #endif @@ -2468,11 +2468,12 @@ static int parse_audio_format_i_type(struct snd_usb_audio *chip, struct audiofor } break; case USB_AUDIO_FORMAT_PCM8: - /* Dallas DS4201 workaround */ + pcm_format = SNDRV_PCM_FORMAT_U8; + + /* Dallas DS4201 workaround: it advertises U8 format, but really + supports S8. */ if (chip->usb_id == USB_ID(0x04fa, 0x4201)) pcm_format = SNDRV_PCM_FORMAT_S8; - else - pcm_format = SNDRV_PCM_FORMAT_U8; break; case USB_AUDIO_FORMAT_IEEE_FLOAT: pcm_format = SNDRV_PCM_FORMAT_FLOAT_LE;