In some platforms(e.g arm64 guest), the NFIT info might not be ready. Then target_node might be -1. But if there is a default numa_mem_id(), we can use it to avoid unnecessary fatal EINVL error.
devm_memremap_pages() also uses this logic if nid is invalid, we can keep the same page with it. Signed-off-by: Jia He <justin...@arm.com> --- drivers/dax/kmem.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/dax/kmem.c b/drivers/dax/kmem.c index a02318c6d28a..ad62d551d94e 100644 --- a/drivers/dax/kmem.c +++ b/drivers/dax/kmem.c @@ -33,9 +33,9 @@ int dev_dax_kmem_probe(struct device *dev) */ numa_node = dev_dax->target_node; if (numa_node < 0) { - dev_warn(dev, "rejecting DAX region %pR with invalid node: %d\n", - res, numa_node); - return -EINVAL; + dev_warn(dev, "DAX %pR with invalid node, assume it as %d\n", + res, numa_node, numa_mem_id()); + numa_node = numa_mem_id(); } /* Hotplug starting at the beginning of the next block: */ -- 2.17.1