The diff below fixes an issue with the way we attach "APCI devices". As with all ACPI diffs, this may potentially introduce regressions, so some wider testing would be welcome.
The fix itself involves resolving a "nameref" in the package that describes dependencies between APCI devices. These namerefs need to be evaluated lazily (for reasons) but this wasn't done in this case. Index: dev/acpi/acpi.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpi.c,v retrieving revision 1.419 diff -u -p -r1.419 acpi.c --- dev/acpi/acpi.c 10 Feb 2023 14:34:16 -0000 1.419 +++ dev/acpi/acpi.c 9 Mar 2023 10:49:28 -0000 @@ -2963,6 +2963,12 @@ acpi_attach_deps(struct acpi_softc *sc, for (i = 0; i < res.length; i++) { val = res.v_package[i]; + if (val->type == AML_OBJTYPE_NAMEREF) { + node = aml_searchrel(node, + aml_getname(val->v_nameref)); + if (node) + val = node->value; + } if (val->type == AML_OBJTYPE_OBJREF) val = val->v_objref.ref; if (val->type != AML_OBJTYPE_DEVICE)