]> www.infradead.org Git - linux.git/commitdiff
cxl/mem: Do not return error if CONFIG_CXL_MCE unset
authorLi Ming <ming.li@zohomail.com>
Thu, 27 Feb 2025 10:18:48 +0000 (18:18 +0800)
committerDave Jiang <dave.jiang@intel.com>
Fri, 14 Mar 2025 23:27:28 +0000 (16:27 -0700)
CONFIG_CXL_MCE depends on CONFIG_MEMORY_FAILURE, if
CONFIG_CXL_MCE is not set, devm_cxl_register_mce_notifier() will return
an -EOPNOTSUPP, it will cause cxl_mem_state_create() failure , and then
cxl pci device probing failed. In this case, it should not break cxl pci
device probing.

Add a checking in cxl_mem_state_create() to check if the returned value
of devm_cxl_register_mce_notifier() is -EOPNOTSUPP, if yes, just output
a warning log, do not let cxl_mem_state_create() return an error.

Signed-off-by: Li Ming <ming.li@zohomail.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Link: https://patch.msgid.link/20250227101848.388595-1-ming.li@zohomail.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
drivers/cxl/core/mbox.c

index e088c6ba1705070d5b528bb145f6cafad811eb9b..7450c4df522e29a8d33f3177a02facb3433cfd76 100644 (file)
@@ -1473,7 +1473,9 @@ struct cxl_memdev_state *cxl_memdev_state_create(struct device *dev)
        mds->cxlds.type = CXL_DEVTYPE_CLASSMEM;
 
        rc = devm_cxl_register_mce_notifier(dev, &mds->mce_notifier);
-       if (rc)
+       if (rc == -EOPNOTSUPP)
+               dev_warn(dev, "CXL MCE unsupported\n");
+       else if (rc)
                return ERR_PTR(rc);
 
        return mds;