diff options
| -rw-r--r-- | sound/soc/soc-pcm.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 2b8949647e32..4bbda0a4ee03 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c | |||
| @@ -162,13 +162,8 @@ static void soc_pcm_init_runtime_hw(struct snd_pcm_runtime *runtime, | |||
| 162 | hw->formats &= codec_stream->formats & cpu_stream->formats; | 162 | hw->formats &= codec_stream->formats & cpu_stream->formats; |
| 163 | else | 163 | else |
| 164 | hw->formats = codec_stream->formats & cpu_stream->formats; | 164 | hw->formats = codec_stream->formats & cpu_stream->formats; |
| 165 | hw->rates = codec_stream->rates & cpu_stream->rates; | 165 | hw->rates = snd_pcm_rate_mask_intersect(codec_stream->rates, |
| 166 | if (codec_stream->rates | 166 | cpu_stream->rates); |
| 167 | & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) | ||
| 168 | hw->rates |= cpu_stream->rates; | ||
| 169 | if (cpu_stream->rates | ||
| 170 | & (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS)) | ||
| 171 | hw->rates |= codec_stream->rates; | ||
| 172 | 167 | ||
| 173 | hw->rate_min = 0; | 168 | hw->rate_min = 0; |
| 174 | hw->rate_max = UINT_MAX; | 169 | hw->rate_max = UINT_MAX; |
