2018-04-26 14:42 GMT+08:00 Christoph Hellwig <hch@xxxxxx>: > Can you try this patch ontop of either the new or original one? > > --- > diff --git a/lib/dma-noncoherent.c b/lib/dma-noncoherent.c > index f4b8532c20ac..a2c192b3508d 100644 > --- a/lib/dma-noncoherent.c > +++ b/lib/dma-noncoherent.c > @@ -48,7 +48,7 @@ static int dma_noncoherent_map_sg(struct device *dev, struct scatterlist *sgl, > return nents; > } > > -#ifdef CONFIG_DMA_NONCOHERENT_SYNC_FOR_CPU > +#ifdef CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU > static void dma_noncoherent_sync_single_for_cpu(struct device *dev, > dma_addr_t addr, size_t size, enum dma_data_direction dir) > { > @@ -88,7 +88,7 @@ const struct dma_map_ops dma_noncoherent_ops = { > .sync_sg_for_device = dma_noncoherent_sync_sg_for_device, > .map_page = dma_noncoherent_map_page, > .map_sg = dma_noncoherent_map_sg, > -#ifdef CONFIG_DMA_NONCOHERENT_SYNC_FOR_CPU > +#ifdef CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU > .sync_single_for_cpu = dma_noncoherent_sync_single_for_cpu, > .sync_sg_for_cpu = dma_noncoherent_sync_sg_for_cpu, > .unmap_page = dma_noncoherent_unmap_page, It works!!!