csky: Fixup pfn_valid error with wrong max_mapnr
authorGuo Ren <guoren@linux.alibaba.com>
Wed, 20 Jan 2021 09:21:57 +0000 (17:21 +0800)
committerGuo Ren <guoren@linux.alibaba.com>
Sat, 27 Feb 2021 08:35:09 +0000 (16:35 +0800)
The max_mapnr is the number of PFNs, not absolute PFN offset.
Using set_max_mapnr API instead of setting the value directly.

Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
arch/csky/mm/init.c

index bc05a3b..81e4e5e 100644 (file)
@@ -86,9 +86,9 @@ void __init mem_init(void)
 #ifdef CONFIG_HIGHMEM
        unsigned long tmp;
 
-       max_mapnr = highend_pfn;
+       set_max_mapnr(highend_pfn - ARCH_PFN_OFFSET);
 #else
-       max_mapnr = max_low_pfn;
+       set_max_mapnr(max_low_pfn - ARCH_PFN_OFFSET);
 #endif
        high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);