ASoC: dpcm: Properly initialise hw->rate_max
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Mon, 27 Aug 2018 13:26:47 +0000 (14:26 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 28 Aug 2018 18:35:49 +0000 (19:35 +0100)
If the CPU DAI does not initialise rate_max, say if using
using KNOT or CONTINUOUS, then the rate_max field will be
initialised to 0. A value of zero in the rate_max field of
the hardware runtime will cause the sound card to support no
sample rates at all. Obviously this is not desired, just a
different mechanism is being used to apply the constraints. As
such update the setting of rate_max in dpcm_init_runtime_hw
to be consistent with the non-DPCM cases and set rate_max to
UINT_MAX if nothing is defined on the CPU DAI.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-pcm.c

index e8b98bfd4cf13bcb56d118a4c87a6e08ce5139e2..eb6f4f1b65a92b9b6efdbd299611632583bebd9b 100644 (file)
@@ -1680,7 +1680,7 @@ static void dpcm_init_runtime_hw(struct snd_pcm_runtime *runtime,
                                 struct snd_soc_pcm_stream *stream)
 {
        runtime->hw.rate_min = stream->rate_min;
-       runtime->hw.rate_max = stream->rate_max;
+       runtime->hw.rate_max = min_not_zero(stream->rate_max, UINT_MAX);
        runtime->hw.channels_min = stream->channels_min;
        runtime->hw.channels_max = stream->channels_max;
        if (runtime->hw.formats)