diff -drupN a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c --- a/arch/arm/kernel/devtree.c 2018-08-06 17:23:04.000000000 +0300 +++ b/arch/arm/kernel/devtree.c 2022-06-12 05:28:14.000000000 +0300 @@ -130,12 +130,14 @@ void __init arm_dt_init_cpu_maps(void) * temp values were initialized to UINT_MAX * to avoid matching valid MPIDR[23:0] values. */ - for (j = 0; j < cpuidx; j++) - if (WARN(tmp_map[j] == hwid, - "Duplicate /cpu reg properties in the DT\n")) { - of_node_put(cpu); - return; - } + if (is_smp()) { + for (j = 0; j < cpuidx; j++) + if (WARN(tmp_map[j] == hwid, + "Duplicate /cpu reg properties in the DT\n")) { + of_node_put(cpu); + return; + } + } /* * Build a stashed array of MPIDR values. Numbering scheme