Apply the page shift to PFN to get physical address for final VA.
The macro __va should take physical address instead of PFN as input.

Fixes: c1884e1e1164 ("csky: Make pfn accessors static inlines")
Signed-off-by: Yan Zhao <[email protected]>
---
 arch/csky/include/asm/page.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/csky/include/asm/page.h b/arch/csky/include/asm/page.h
index 4a0502e324a6..2c4cc7825a7b 100644
--- a/arch/csky/include/asm/page.h
+++ b/arch/csky/include/asm/page.h
@@ -84,7 +84,7 @@ static inline unsigned long virt_to_pfn(const void *kaddr)
 
 static inline void * pfn_to_virt(unsigned long pfn)
 {
-       return (void *)((unsigned long)__va(pfn) << PAGE_SHIFT);
+       return __va(pfn << PAGE_SHIFT);
 }
 
 #define MAP_NR(x)      PFN_DOWN((unsigned long)(x) - PAGE_OFFSET - \
-- 
2.17.1


Reply via email to