diff options
author | Joris van Rantwijk <jorispubl@xs4all.nl> | 2009-02-16 22:58:23 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-02-16 22:58:23 +0100 |
commit | 3b03cc5b86e2052295b9b484f37226ee15c87924 (patch) | |
tree | f6819194e917055062731ae0e5eea36631ca8892 /sound | |
parent | ALSA: usb-audio - Fix non-continuous rate detection (diff) | |
download | linux-3b03cc5b86e2052295b9b484f37226ee15c87924.tar.xz linux-3b03cc5b86e2052295b9b484f37226ee15c87924.zip |
ALSA: usb-audio - Workaround for misdetected sample rate with CM6207
The CM6207 incorrectly advertises its 96 kHz playback setting as 48 kHz
in its USB device descriptor. This patch extends an existing workaround
in usbaudio.c to also cover the CM6207.
This resolves issue 0004249 in the ALSA bug tracker.
Signed-off-by: Joris van Rantwijk <jorispubl@xs4all.nl>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/usb/usbaudio.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index 80863093d2c8..19e37451c216 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c @@ -2539,7 +2539,8 @@ static int parse_audio_format_rates(struct snd_usb_audio *chip, struct audioform continue; /* C-Media CM6501 mislabels its 96 kHz altsetting */ if (rate == 48000 && nr_rates == 1 && - chip->usb_id == USB_ID(0x0d8c, 0x0201) && + (chip->usb_id == USB_ID(0x0d8c, 0x0201) || + chip->usb_id == USB_ID(0x0d8c, 0x0102)) && fp->altsetting == 5 && fp->maxpacksize == 392) rate = 96000; fp->rate_table[fp->nr_rates] = rate; |