]> Pileus Git - ~andy/linux/commitdiff
ASoC: pcm: Properly initialize hw->rate_max
authorLars-Peter Clausen <lars@metafoo.de>
Sat, 11 Jan 2014 09:24:40 +0000 (10:24 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 14 Jan 2014 20:41:57 +0000 (20:41 +0000)
If none of the components (CODEC or CPU DAI) sets a maximum sample rate we'll
end up with the rate_max field of the runtime hardware set to 0.  (Note that it
is still possible for the components to constrain the supported sample rates
using other methods, e.g. setting a list constraint) If rate_max is 0 this means
that the sound card doesn't support any rates at all, which is not the desired
result. So initialize rate_max to UINT_MAX. For symmetry reasons also set
rate_min to 0.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-pcm.c

index 1a617fde46e66062880ba4ec943c2dc1a2870a3e..2b8949647e32a1f2d7dde9ac382c37f58535382b 100644 (file)
@@ -170,6 +170,9 @@ static void soc_pcm_init_runtime_hw(struct snd_pcm_runtime *runtime,
                & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS))
                hw->rates |= codec_stream->rates;
 
+       hw->rate_min = 0;
+       hw->rate_max = UINT_MAX;
+
        snd_pcm_limit_hw_rates(runtime);
 
        hw->rate_min = max(hw->rate_min, cpu_stream->rate_min);