Commit 61167ad5fecd("mm: pass nid to reserve_bootmem_region()) reveals that reserved memblock regions have no valid node id set, just set it right since loongson64 firmware makes it clear in memory layout info. This work around booting failure on 3A1000+ since commit 61167ad5fecd ("mm: pass nid to reserve_bootmem_region()) under CONFIG_DEFERRED_STRUCT_PAGE_INIT Signed-off-by: Huang Pei <huangpei@xxxxxxxxxxx> --- arch/mips/loongson64/init.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/mips/loongson64/init.c b/arch/mips/loongson64/init.c index f25caa6aa9d3..5bfabc67136a 100644 --- a/arch/mips/loongson64/init.c +++ b/arch/mips/loongson64/init.c @@ -97,6 +97,8 @@ void __init szmem(unsigned int node) (u32)node_id, mem_type, &mem_start, &mem_size); break; } + /* set nid for reserved memory */ + memblock_set_node(0, node_id << 44, &memblock.reserved, node_id); } /* Reserve vgabios if it comes from firmware */ -- 2.30.2