diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mm/dma-mapping.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index 13f555d62491..c390cea6a258 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c | |||
@@ -1012,11 +1012,12 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size, gfp_t | |||
1012 | if (!pages[i]) | 1012 | if (!pages[i]) |
1013 | goto error; | 1013 | goto error; |
1014 | 1014 | ||
1015 | if (order) | 1015 | if (order) { |
1016 | split_page(pages[i], order); | 1016 | split_page(pages[i], order); |
1017 | j = 1 << order; | 1017 | j = 1 << order; |
1018 | while (--j) | 1018 | while (--j) |
1019 | pages[i + j] = pages[i] + j; | 1019 | pages[i + j] = pages[i] + j; |
1020 | } | ||
1020 | 1021 | ||
1021 | __dma_clear_buffer(pages[i], PAGE_SIZE << order); | 1022 | __dma_clear_buffer(pages[i], PAGE_SIZE << order); |
1022 | i += 1 << order; | 1023 | i += 1 << order; |