• Takashi Iwai's avatar
    ALSA: pcm: Check mmap capability of runtime dma buffer at first · cbea6e5a
    Takashi Iwai authored
    Currently we check only the substream->dma_buffer as the preset of the
    buffer configuration for verifying the availability of mmap.  But a
    few drivers rather set up the buffer in the own way without the
    standard buffer preallocation using substream->dma_buffer, and they
    miss the proper checks.  (Now it's working more or less fine as most
    of them are running only on x86).
    
    Actually, they may set up the runtime dma_buffer (referred via
    snd_pcm_get_dma_buf()) at the open callback, though.  That is, this
    could have been used as the primary source.
    
    This patch changes the hw_support_mmap() function to check the runtime
    dma buffer at first.  It's usually NULL with the standard buffer
    preallocation, and in that case, we continue checking
    substream->dma_buffer as fallback.
    
    Link: https://lore.kernel.org/r/20210809071829.22238-2-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    cbea6e5a
pcm_native.c 110 KB