path: root/sound/pci/rme9652/hdspm.c
diff options
authorLinus Torvalds <torvalds@linux-foundation.org>2012-06-01 15:39:26 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-06-01 15:39:26 -0700
commit37b22400f86e83076c8e540b65e8b7e3f1f63e6b (patch)
tree14d834900fdec065ee0b29f0e27c5ab14f25286c /sound/pci/rme9652/hdspm.c
parent86c47b70f62a7072d441ba212aab33c2f82627c2 (diff)
parentfbf2045af7691fbab2fd9f6d6fa96839bea13d31 (diff)
Merge tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "Just a few trivial driver-specific fixes." * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hdspm - Work around broken DDS value on PCI RME MADI ALSA: usb-audio: fix rate_list memory leak ASoC: fsi: bugfix: ensure dma is terminated ASoC: fsi: bugfix: correct dma area ASoC: fsi: bugfix: enable master clock control on DMA stream ASoC: imx-ssi: Use clk_prepare_enable/clk_disable_unprepare
Diffstat (limited to 'sound/pci/rme9652/hdspm.c')
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 0a5027b9471..b8ac8710f47 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -1988,6 +1988,13 @@ static int hdspm_get_system_sample_rate(struct hdspm *hdspm)
period = hdspm_read(hdspm, HDSPM_RD_PLL_FREQ);
rate = hdspm_calc_dds_value(hdspm, period);
+ if (rate > 207000) {
+ /* Unreasonable high sample rate as seen on PCI MADI cards.
+ * Use the cached value instead.
+ */
+ rate = hdspm->system_sample_rate;
+ }
return rate;