Should be fixed by the following diff:

(ok's welcome)


Index: dev/acpi/acpiprt.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpiprt.c,v
retrieving revision 1.48
diff -u -p -r1.48 acpiprt.c
--- dev/acpi/acpiprt.c  25 Oct 2016 06:48:58 -0000      1.48
+++ dev/acpi/acpiprt.c  7 Jan 2020 21:17:55 -0000
@@ -293,11 +293,8 @@ acpiprt_prt_add(struct acpiprt_softc *sc
        }
        if (pp->type == AML_OBJTYPE_DEVICE) {
                node = pp->node;
-               if (aml_evalinteger(sc->sc_acpi, node, "_STA", 0, NULL, &sta)) {
-                       printf("no _STA method\n");
-                       return;
-               }
 
+               sta = acpi_getsta(sc->sc_acpi, node);
                if ((sta & STA_PRESENT) == 0)
                        return;
 
@@ -446,11 +443,7 @@ acpiprt_route_interrupt(int bus, int dev
        if (node == NULL)
                return;
 
-       if (aml_evalinteger(sc->sc_acpi, node, "_STA", 0, NULL, &sta)) {
-               printf("no _STA method\n");
-               return;
-       }
-
+       sta = acpi_getsta(sc->sc_acpi, node);
        KASSERT(sta & STA_PRESENT);
 
        if (aml_evalname(sc->sc_acpi, node, "_CRS", 0, NULL, &res)) {

Reply via email to