[PATCH v4 23/26] of, numa: return -EINVAL when no numa-node-id is found
Mike Rapoport
rppt at kernel.org
Tue Aug 6 23:41:07 PDT 2024
From: "Mike Rapoport (Microsoft)" <rppt at kernel.org>
Currently of_numa_parse_memory_nodes() returns 0 if no "memory" node in
device tree contains "numa-node-id" property. This makes of_numa_init()
to return "success" despite no NUMA nodes were actually parsed and set
up.
arch_numa workarounds this by returning an error if numa_nodes_parsed is
empty.
numa_memblks however would WARN() in such case and since it will be used
by arch_numa shortly, such warning is not desirable.
Make sure of_numa_init() returns -EINVAL when no NUMA node information
was found in the device tree.
Signed-off-by: Mike Rapoport (Microsoft) <rppt at kernel.org>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
Tested-by: Jonathan Cameron <Jonathan.Cameron at huawei.com> [arm64 + CXL via QEMU]
Acked-by: Dan Williams <dan.j.williams at intel.com>
Acked-by: David Hildenbrand <david at redhat.com>
---
drivers/of/of_numa.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c
index 838747e319a2..2ec20886d176 100644
--- a/drivers/of/of_numa.c
+++ b/drivers/of/of_numa.c
@@ -45,7 +45,7 @@ static int __init of_numa_parse_memory_nodes(void)
struct device_node *np = NULL;
struct resource rsrc;
u32 nid;
- int i, r;
+ int i, r = -EINVAL;
for_each_node_by_type(np, "memory") {
r = of_property_read_u32(np, "numa-node-id", &nid);
@@ -72,7 +72,7 @@ static int __init of_numa_parse_memory_nodes(void)
}
}
- return 0;
+ return r;
}
static int __init of_numa_parse_distance_map_v1(struct device_node *map)
--
2.43.0
More information about the linux-riscv
mailing list