From 62f76c1c53b3fcd41636a5c416eb8c20bae35bd7 Mon Sep 17 00:00:00 2001 From: Jassi Brar Date: Fri, 12 Mar 2010 13:38:52 +0900 Subject: [PATCH] --- yaml --- r: 193330 b: refs/heads/master c: d9ad6296ec3b4a55ba25f2c5e4824be487242e1f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/soc/soc-core.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 64667943b4d2..339b9e218896 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 960b3b4b4cb6d22d55ad0ebb280dac9876937fa0 +refs/heads/master: d9ad6296ec3b4a55ba25f2c5e4824be487242e1f diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index 06c38d1502b7..eb73aab78b94 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -404,6 +404,12 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) codec_dai->playback.formats & cpu_dai->playback.formats; runtime->hw.rates = codec_dai->playback.rates & cpu_dai->playback.rates; + if (codec_dai->playback.rates + & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) + runtime->hw.rates |= cpu_dai->playback.rates; + if (cpu_dai->playback.rates + & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) + runtime->hw.rates |= codec_dai->playback.rates; } else { runtime->hw.rate_min = max(codec_dai->capture.rate_min, @@ -421,6 +427,12 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) codec_dai->capture.formats & cpu_dai->capture.formats; runtime->hw.rates = codec_dai->capture.rates & cpu_dai->capture.rates; + if (codec_dai->capture.rates + & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) + runtime->hw.rates |= cpu_dai->capture.rates; + if (cpu_dai->capture.rates + & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) + runtime->hw.rates |= codec_dai->capture.rates; } snd_pcm_limit_hw_rates(runtime);