MLK-11985-2 ARM: imx: call __pa instead of virt_to_phys
authorAnson Huang <Anson.Huang@freescale.com>
Wed, 9 Dec 2015 10:55:10 +0000 (18:55 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:49:29 +0000 (14:49 -0500)
Use different API to fix below issue reported by coverity:

Out-of-bounds access (ARRAY_VS_SINGLETON),
ptr_arith: Using &iram_tlb_phys_addr as an array.
This might corrupt or misinterpret adjacent memory locations.

Signed-off-by: Anson Huang <Anson.Huang@freescale.com>
arch/arm/mach-imx/busfreq_ddr3.c

index e3d4bee..e53d621 100644 (file)
@@ -343,8 +343,8 @@ int update_ddr_freq_imx_smp(int ddr_rate)
        __cpuc_flush_dcache_area(&iram_tlb_phys_addr,
                sizeof(iram_tlb_phys_addr));
        if (cpu_is_imx6())
-               outer_clean_range(virt_to_phys(&iram_tlb_phys_addr),
-                       virt_to_phys(&iram_tlb_phys_addr + 1));
+               outer_clean_range(__pa(&iram_tlb_phys_addr),
+                       __pa(&iram_tlb_phys_addr + 1));
 
        ttbr1 = save_ttbr1();
        /* Now we can change the DDR frequency. */