Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd95eaae authored by Konstantin Khlebnikov's avatar Konstantin Khlebnikov Committed by Sasha Levin
Browse files

of: return NUMA_NO_NODE from fallback of_node_to_nid()



[ Upstream commit c8fff7bc5bba6bd59cad40441c189c4efe7190f6 ]

Node 0 might be offline as well as any other numa node,
in this case kernel cannot handle memory allocation and crashes.

Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Fixes: 0c3f061c ("of: implement of_node_to_nid as a weak function")
Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent 3e2003cc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ EXPORT_SYMBOL(of_n_size_cells);
#ifdef CONFIG_NUMA
int __weak of_node_to_nid(struct device_node *np)
{
	return numa_node_id();
	return NUMA_NO_NODE;
}
#endif

+4 −1
Original line number Diff line number Diff line
@@ -593,7 +593,10 @@ static inline const char *of_prop_next_string(struct property *prop,
#if defined(CONFIG_OF) && defined(CONFIG_NUMA)
extern int of_node_to_nid(struct device_node *np);
#else
static inline int of_node_to_nid(struct device_node *device) { return 0; }
static inline int of_node_to_nid(struct device_node *device)
{
	return NUMA_NO_NODE;
}
#endif

static inline struct device_node *of_find_matching_node(