diff options
| author | Shengjiu Wang <[email protected]> | 2022-01-20 02:44:02 +0000 |
|---|---|---|
| committer | Mark Brown <[email protected]> | 2022-01-24 13:31:57 +0000 |
| commit | 88c62b16281e5fe748f22f44da3def8a91fb1c34 (patch) | |
| tree | 7059deeaeee3b5f06edab0224accfc26979524d4 | |
| parent | ASoC: samsung: remove unneeded ret variable (diff) | |
| download | kernel-88c62b16281e5fe748f22f44da3def8a91fb1c34.tar.gz kernel-88c62b16281e5fe748f22f44da3def8a91fb1c34.zip | |
ASoC: soc-generic-dmaengine-pcm: separate max_buffer_size assignment
The config->pcm_hardware may be NULL when config->prealloc_buffer_size
is not zero, so it is better to move max_buffer_size assignment under
a separate condition.
Signed-off-by: Shengjiu Wang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
| -rw-r--r-- | sound/soc/soc-generic-dmaengine-pcm.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c index c54c8ca8d715..8659cb1794f1 100644 --- a/sound/soc/soc-generic-dmaengine-pcm.c +++ b/sound/soc/soc-generic-dmaengine-pcm.c @@ -237,13 +237,15 @@ static int dmaengine_pcm_new(struct snd_soc_component *component, size_t max_buffer_size; unsigned int i; - if (config && config->prealloc_buffer_size) { + if (config && config->prealloc_buffer_size) prealloc_buffer_size = config->prealloc_buffer_size; - max_buffer_size = config->pcm_hardware->buffer_bytes_max; - } else { + else prealloc_buffer_size = prealloc_buffer_size_kbytes * 1024; + + if (config && config->pcm_hardware && config->pcm_hardware->buffer_bytes_max) + max_buffer_size = config->pcm_hardware->buffer_bytes_max; + else max_buffer_size = SIZE_MAX; - } for_each_pcm_streams(i) { struct snd_pcm_substream *substream = rtd->pcm->streams[i].substream; |
