summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJoris van Rantwijk <jorispubl@xs4all.nl>2009-02-16 22:58:23 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-03-16 17:52:51 -0700
commit0a30057e7d3fc194cfdd81a9983c3c645f962749 (patch)
treece39a274d417016d68d6511c4eb4cc333b1c4860 /sound
parent052bfb327a2624ac0cc36a4a0a420488bc28b363 (diff)
ALSA: usb-audio - Workaround for misdetected sample rate with CM6207
commit 3b03cc5b86e2052295b9b484f37226ee15c87924 upstream. 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> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/usb/usbaudio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
index 85bcb37211d2..17106233b60e 100644
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -2531,7 +2531,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;