]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/commitdiff
arm64: mm: dma-mapping: Fix incorrect align of start and end
authorKrishna Reddy <vdumpa@nvidia.com>
Tue, 6 Dec 2016 19:21:21 +0000 (11:21 -0800)
committermobile promotions <svcmobile_promotions@nvidia.com>
Sat, 10 Dec 2016 00:14:55 +0000 (16:14 -0800)
Fix incorrect align of start and end of dma contiguous
region during remap of it.

Bug 1769772

Change-Id: I6b94393085c27e924474c2622f5d024938839e75
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-on: http://git-master/r/1266021
GVS: Gerrit_Virtual_Submit

arch/arm64/mm/dma-mapping.c

index 9b9d7b203030352ced998285f0cd668bafd62f45..364849750c2afe884668aec6711d2d3fb2727417 100644 (file)
@@ -1433,12 +1433,10 @@ void __init dma_contiguous_remap(void)
 {
        int i;
        for (i = 0; i < dma_mmu_remap_num; i++) {
-               phys_addr_t start;
-               phys_addr_t end;
                unsigned long addr;
+               phys_addr_t start = dma_mmu_remap[i].base;
+               phys_addr_t end = start + dma_mmu_remap[i].size;
 
-               start = dma_mmu_remap[i].base & PMD_MASK;
-               end = (start + dma_mmu_remap[i].size + PMD_SIZE - 1) & PMD_MASK;
                if (start >= end)
                        continue;