Re: ALSA: pcm: use dma_can_mmap() to check if a device supports dma_mmap_*

From: Greg Kroah-Hartman
Date: Mon Nov 04 2019 - 03:49:49 EST


On 11/4/19 9:32 AM, Greg Kroah-Hartman wrote:
> On 11/4/19 9:27 AM, youling 257 wrote:
> > This driver
> https://android.googlesource.com/kernel/common/+/refs/heads/android-mainline/drivers/usb/gadget/function/f_audio_source.c
>
> >
>
> The driver is broken and needs to be fixed. Please feel free to submit
> patches to AOSP to do so as you can trigger this easily.

Hm, maybe the driver isn't broken...

snd_pcm_lib_preallocate_pages_for_all() is called with
SNDRV_DMA_TYPE_DEV set, so that should be fine, and the only other
buffer I can see allocate here is with a call to
snd_pcm_lib_alloc_vmalloc_buffer() which _should_ be ok, right?

I don't see any buffers coming off the stack here, unless the gadget
controller is the one creating them?

thanks,

greg k-h