diff options
-rw-r--r-- | sound/soc/soc-pcm.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 8bb17937d59a..326890148a26 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c | |||
@@ -85,9 +85,11 @@ static void soc_pcm_apply_msb(struct snd_pcm_substream *substream, | |||
85 | return; | 85 | return; |
86 | 86 | ||
87 | for (i = 0; i < ARRAY_SIZE(sample_sizes); i++) { | 87 | for (i = 0; i < ARRAY_SIZE(sample_sizes); i++) { |
88 | ret = snd_pcm_hw_constraint_msbits(substream->runtime, | 88 | if (bits >= sample_sizes[i]) |
89 | 0, sample_sizes[i], | 89 | continue; |
90 | bits); | 90 | |
91 | ret = snd_pcm_hw_constraint_msbits(substream->runtime, 0, | ||
92 | sample_sizes[i], bits); | ||
91 | if (ret != 0) | 93 | if (ret != 0) |
92 | dev_warn(dai->dev, | 94 | dev_warn(dai->dev, |
93 | "Failed to set MSB %d/%d: %d\n", | 95 | "Failed to set MSB %d/%d: %d\n", |