[PATCH 1/2] drivers/dax/kmem: use default numa_mem_id if target_node is invalid

From: Jia He
Date: Fri Aug 16 2019 - 07:18:59 EST


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.he@xxxxxxx>
---
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