Commit 955f58f7 authored by Christoph Hellwig's avatar Christoph Hellwig
Browse files

dma-direct: fail allocations that can't be made coherent



If the architecture can't remap or set an address uncached there is no way
to fullfill a request for a coherent allocation.  Return NULL in that case.
Note that this case currently does not happen, so this is a theoretical
fixup and/or a preparation for eventually supporting platforms that
can't support coherent allocations with the generic code.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
parent a86d1094
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -233,7 +233,8 @@ void *dma_direct_alloc(struct device *dev, size_t size,
				return dma_direct_alloc_from_pool(dev, size,
						dma_handle, gfp);
		} else {
			if (IS_ENABLED(CONFIG_ARCH_HAS_DMA_SET_UNCACHED))
			if (!IS_ENABLED(CONFIG_ARCH_HAS_DMA_SET_UNCACHED))
				return NULL;
			set_uncached = true;
		}
	}