ALSA: pcm: Protect call to dma_mmap_coherent() by check for HAS_DMA
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 9 Jul 2017 19:31:02 +0000 (21:31 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 10 Jul 2017 14:04:08 +0000 (16:04 +0200)
If NO_DMA=y:

    sound/core/pcm_native.o: In function `snd_pcm_lib_default_mmap':
    pcm_native.c:(.text+0x144c): undefined reference to `bad_dma_ops'
    pcm_native.c:(.text+0x1474): undefined reference to `dma_common_mmap'

Add a check for HAS_DMA to fix this.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_native.c

index 0d18343105313b5db8afbf48d44bd52705693025..b26c7e61d600495d83a42cc799ec3e1e554236ec 100644 (file)
@@ -3502,7 +3502,7 @@ int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream,
        }
 #endif /* CONFIG_GENERIC_ALLOCATOR */
 #ifndef CONFIG_X86 /* for avoiding warnings arch/x86/mm/pat.c */
-       if (!substream->ops->page &&
+       if (IS_ENABLED(CONFIG_HAS_DMA) && !substream->ops->page &&
            substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV)
                return dma_mmap_coherent(substream->dma_buffer.dev.dev,
                                         area,