mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 22:02:02 +00:00
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: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com>
This commit is contained in:
parent
a86d10942d
commit
955f58f740
1 changed files with 3 additions and 2 deletions
|
@ -233,8 +233,9 @@ 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))
|
||||
set_uncached = true;
|
||||
if (!IS_ENABLED(CONFIG_ARCH_HAS_DMA_SET_UNCACHED))
|
||||
return NULL;
|
||||
set_uncached = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue