> Date: Sat, 8 Oct 2022 16:36:09 +0300
> From: Mikhail <[email protected]>
>
> On Sat, Oct 08, 2022 at 02:56:18PM +0200, Mark Kettenis wrote:
> > The patch isn't quite right, but you're on the right track here. Can
> > you send me the contents of /var/db/acpi for this machine?
> > Alternatively you can use sendbug(1), which will create a report with
> > all the necessary information attached.
>
> Yeah, I should have 'tog blame' the file, the commit explains the
> decision for such var assignment.
>
> ACPI stuff has been sent in direct mail.
Does the diff below work?
Index: dev/acpi/acpiec.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpiec.c,v
retrieving revision 1.65
diff -u -p -r1.65 acpiec.c
--- dev/acpi/acpiec.c 10 Aug 2022 16:58:16 -0000 1.65
+++ dev/acpi/acpiec.c 8 Oct 2022 15:09:17 -0000
@@ -275,17 +275,19 @@ acpiec_attach(struct device *parent, str
struct acpiec_softc *sc = (struct acpiec_softc *)self;
struct acpi_attach_args *aa = aux;
struct aml_value res;
- int64_t st;
+ int64_t sta;
sc->sc_acpi = (struct acpi_softc *)parent;
sc->sc_devnode = aa->aaa_node;
sc->sc_cantburst = 0;
- if (aml_evalinteger(sc->sc_acpi, sc->sc_devnode, "_STA", 0, NULL, &st))
- st = STA_PRESENT | STA_ENABLED | STA_DEV_OK;
- if ((st & STA_PRESENT) == 0) {
- printf(": not present\n");
- return;
+ if (sc->sc_devnode) {
+ sta = acpi_getsta(sc->sc_acpi, sc->sc_devnode);
+ if ((sta & (STA_PRESENT | STA_ENABLED | STA_DEV_OK)) !=
+ (STA_PRESENT | STA_ENABLED | STA_DEV_OK)) {
+ printf(": not present\n");
+ return;
+ }
}
printf("\n");