[alsa-devel] [PATCH 1/5] ASoC: pcm: Properly initialize hw->rate_max

Lars-Peter Clausen lars at metafoo.de
Fri Jan 10 16:06:32 CET 2014

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 at metafoo.de>
 sound/soc/soc-pcm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 313adba..b6e0c32 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -252,6 +252,9 @@ static void soc_pcm_init_runtime_hw(struct snd_pcm_runtime *runtime,
 		hw->rates |= codec_stream->rates;
+	hw->rate_min = 0;
+	hw->rate_max = UINT_MAX;
 	hw->rate_min = max(hw->rate_min, cpu_stream->rate_min);

More information about the Alsa-devel mailing list