]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ACPI: scan: Honor _DEP for ACPI0016 PCI/CXL host bridge
authorChen Pei <cp0613@linux.alibaba.com>
Tue, 26 May 2026 02:51:18 +0000 (10:51 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 1 Jun 2026 17:25:37 +0000 (19:25 +0200)
commitbf5418a5fe63f35da35941ae896d5df121d95ffc
tree35eb554b342b928d7250fdb4e5e402faa7afa735
parent3a59c3b772e5dc0cedecce8e7fbf7c2d6245b643
ACPI: scan: Honor _DEP for ACPI0016 PCI/CXL host bridge

CXL root devices (ACPI0017) declare _DEP on their parent ACPI0016
PCI/CXL host bridge so that cxl_acpi probes only after acpi_pci_root
has attached the PCI root and registered it for acpi_pci_find_root().
However, acpi_dev_ready_for_enumeration() only consults dep_unmet
when the supplier's HID is on acpi_honor_dep_ids[]; otherwise the
dependency is silently ignored.

Without honoring the dependency, cxl_acpi can probe before the PCI
root is ready. The resulting CXL topology is broken: decoder targets
read as 0 and no port/endpoint devices appear under
/sys/bus/cxl/devices/.

Add ACPI0016 to acpi_honor_dep_ids[] so the _DEP declared by ACPI0017
is enforced. This relies on the preceding patch ("ACPI: PCI: clear
_DEP dependencies after PCI root bridge attach"), which releases the
dependency once the PCI root is fully enumerated; the two patches
must be applied together.

Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
Tested-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
Link: https://patch.msgid.link/20260526025118.38935-3-cp0613@linux.alibaba.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/scan.c