From: Takashi Iwai Date: Tue, 5 Nov 2019 19:10:06 +0000 (+0100) Subject: ALSA: pcm: Warn if doubly preallocated X-Git-Tag: for-linus-20191205~91^2~89 X-Git-Url: https://git.kernel.dk/?p=linux-2.6-block.git;a=commitdiff_plain;h=a55eaf177a36f7789eec0985a7edd00fe7353d90 ALSA: pcm: Warn if doubly preallocated Warn if snd_pcm_lib_preallocate_pages*() is applied to the stream that has already the preallocated buffers and skip the allocation. It's a clearly a driver bug. Link: https://lore.kernel.org/r/20191105191007.18150-2-tiwai@suse.de Signed-off-by: Takashi Iwai --- diff --git a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c index 7600dcdf5fd4..19407f79b638 100644 --- a/sound/core/pcm_memory.c +++ b/sound/core/pcm_memory.c @@ -221,6 +221,8 @@ void snd_pcm_lib_preallocate_pages(struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max) { + if (snd_BUG_ON(substream->dma_buffer.dev.type)) + return; substream->dma_buffer.dev.type = type; substream->dma_buffer.dev.dev = data; snd_pcm_lib_preallocate_pages1(substream, size, max);