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

Reply via email to