This driver https://android.googlesource.com/kernel/common/+/refs/heads/android-mainline/drivers/usb/gadget/function/f_audio_source.c 2019-11-04 16:02 GMT+08:00, Takashi Iwai <tiwai@xxxxxxx>: > Exactly which driver is hit? The code path is via hw_support_mmap() > and it's currently: > > static bool hw_support_mmap(struct snd_pcm_substream *substream) > { > if (!(substream->runtime->hw.info & SNDRV_PCM_INFO_MMAP)) > return false; > > if (substream->ops->mmap || > substream->dma_buffer.dev.type != SNDRV_DMA_TYPE_DEV) > return true; > > return dma_can_mmap(substream->dma_buffer.dev.dev); > } > > so at least the driver has already set the SNDRV_DMA_TYPE_DEV > explicitly (it's non-zero) and some device object, but the device > object was invalid for dma_can_mmap() call. > > This smells more like a driver-side issue, not in the core side. > > > thanks, > > Takashi >