From: deraadt Date: Wed, 21 Jul 2010 19:42:05 +0000 (+0000) Subject: in the acpi GPE handler, late ack level interrupts not edge interrupts. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=c2951d41a0da47055f295264dd3276dfa3bdb87e;p=openbsd in the acpi GPE handler, late ack level interrupts not edge interrupts. Duh. --- diff --git a/sys/dev/acpi/acpi.c b/sys/dev/acpi/acpi.c index 46bad3855df..0336eaf2052 100644 --- a/sys/dev/acpi/acpi.c +++ b/sys/dev/acpi/acpi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: acpi.c,v 1.185 2010/07/21 15:01:52 deraadt Exp $ */ +/* $OpenBSD: acpi.c,v 1.186 2010/07/21 19:42:05 deraadt Exp $ */ /* * Copyright (c) 2005 Thorsten Lockert * Copyright (c) 2005 Jordan Hargrave @@ -1711,7 +1711,7 @@ acpi_gpe(struct acpi_softc *sc, int gpe, void *arg) s = spltty(); mask = (1L << (gpe & 7)); - if (sc->gpe_table[gpe].edge) + if (!sc->gpe_table[gpe].edge) acpi_write_pmreg(sc, ACPIREG_GPE_STS, gpe>>3, mask); en = acpi_read_pmreg(sc, ACPIREG_GPE_EN, gpe>>3); acpi_write_pmreg(sc, ACPIREG_GPE_EN, gpe>>3, en | mask);