提交 91a45b12 编写于 作者: A Alison Schofield 提交者: Dan Williams

cxl/acpi: Do not fail cxl_acpi_probe() based on a missing CHBS

When an ACPI0016 Host Bridge device is present yet no corresponding
CEDT Host Bridge Structure (CHBS) exists, the ACPI probe method
fails.

Rather than fail, emit this warning and continue:
cxl_acpi ACPI0017:00: No CHBS found for Host Bridge: ACPI0016:02

This error may occur on systems that are not compliant with the
ACPI specification. Compliant systems include a CHBS entry for
every CXL host bridge that is present at boot.
Suggested-by: NIra Weiny <ira.weiny@intel.com>
Signed-off-by: NAlison Schofield <alison.schofield@intel.com>
Tested-by: NVishal Verma <vishal.l.verma@intel.com>
Reviewed-by: NIra Weiny <ira.weiny@intel.com>
Link: https://lore.kernel.org/r/20211007213426.392644-1-alison.schofield@intel.comSigned-off-by: NDan Williams <dan.j.williams@intel.com>
上级 ed97afb5
...@@ -288,7 +288,7 @@ static int add_host_bridge_uport(struct device *match, void *arg) ...@@ -288,7 +288,7 @@ static int add_host_bridge_uport(struct device *match, void *arg)
dport = find_dport_by_dev(root_port, match); dport = find_dport_by_dev(root_port, match);
if (!dport) { if (!dport) {
dev_dbg(host, "host bridge expected and not found\n"); dev_dbg(host, "host bridge expected and not found\n");
return -ENODEV; return 0;
} }
port = devm_cxl_add_port(host, match, dport->component_reg_phys, port = devm_cxl_add_port(host, match, dport->component_reg_phys,
...@@ -377,9 +377,11 @@ static int add_host_bridge_dport(struct device *match, void *arg) ...@@ -377,9 +377,11 @@ static int add_host_bridge_dport(struct device *match, void *arg)
} }
chbs = cxl_acpi_match_chbs(host, uid); chbs = cxl_acpi_match_chbs(host, uid);
if (IS_ERR(chbs)) if (IS_ERR(chbs)) {
dev_dbg(host, "No CHBS found for Host Bridge: %s\n", dev_warn(host, "No CHBS found for Host Bridge: %s\n",
dev_name(match)); dev_name(match));
return 0;
}
rc = cxl_add_dport(root_port, match, uid, get_chbcr(chbs)); rc = cxl_add_dport(root_port, match, uid, get_chbcr(chbs));
if (rc) { if (rc) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册