arm64: Align CMA sizes to PAGE_SIZE
dma_alloc_from_contiguous takes number of pages for a size. Align up the dma size passed in to page size to avoid truncation and allocation failures on sizes less than PAGE_SIZE. Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Laura Abbott <lauraa@codeaurora.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
Родитель
5044bad43e
Коммит
ccc9e244eb
|
@ -45,6 +45,7 @@ static void *arm64_swiotlb_alloc_coherent(struct device *dev, size_t size,
|
||||||
if (IS_ENABLED(CONFIG_DMA_CMA)) {
|
if (IS_ENABLED(CONFIG_DMA_CMA)) {
|
||||||
struct page *page;
|
struct page *page;
|
||||||
|
|
||||||
|
size = PAGE_ALIGN(size);
|
||||||
page = dma_alloc_from_contiguous(dev, size >> PAGE_SHIFT,
|
page = dma_alloc_from_contiguous(dev, size >> PAGE_SHIFT,
|
||||||
get_order(size));
|
get_order(size));
|
||||||
if (!page)
|
if (!page)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче