Trace memory is cleared and the corresponding dcache lines
are flushed after allocation. However, this should not be
done using the PFN. This adds the missing __va() conversion.

Fixes: 2ac02e5ecec0 ("powerpc/mm: Remove dcache flush from memory remove.")
Signed-off-by: Sandipan Das <sandi...@linux.ibm.com>
---
 arch/powerpc/platforms/powernv/memtrace.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/memtrace.c 
b/arch/powerpc/platforms/powernv/memtrace.c
index 71c1262589fe..a31f13814f2e 100644
--- a/arch/powerpc/platforms/powernv/memtrace.c
+++ b/arch/powerpc/platforms/powernv/memtrace.c
@@ -104,8 +104,8 @@ static void memtrace_clear_range(unsigned long start_pfn,
         * Before we go ahead and use this range as cache inhibited range
         * flush the cache.
         */
-       flush_dcache_range_chunked(PFN_PHYS(start_pfn),
-                                  PFN_PHYS(start_pfn + nr_pages),
+       flush_dcache_range_chunked((unsigned long)__va(PFN_PHYS(start_pfn)),
+                                  (unsigned long)__va(PFN_PHYS(start_pfn + 
nr_pages)),
                                   FLUSH_CHUNK_SIZE);
 }
 
-- 
2.25.1

Reply via email to