> basically, a block of contiguous memory is allocated. This block is > needed to set up some DMA descriptors, so it needs to be uncached, and > I thought this is what GFP_DMA flag is for. No, GFP_DMA doesn't have that meaning. To allocate uncached memory, use dma_alloc_coherent(). - R.