summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2013-07-02 18:37:48 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2013-07-02 18:37:48 +0000
commit04406384e729c5f832184829ff1a11a2209df6da (patch)
treef0718c186fcf70d3afaff0ff4445c725f8acc319 /sys/dev
parent3f214cd8d72629bace8d5e150759717cc04763f3 (diff)
If after processing an SCI event the SCI_EVT is no longer sent, we're done
and shouldn't do another SCI query. Such a spurious SCI query blocks on certain HP laptops, which in turn blocks the acpi thread. tested by many ok mlarkin@
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/acpi/acpiec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/acpi/acpiec.c b/sys/dev/acpi/acpiec.c
index 52ff105ee8f..2b22265dd54 100644
--- a/sys/dev/acpi/acpiec.c
+++ b/sys/dev/acpi/acpiec.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpiec.c,v 1.47 2013/01/18 06:02:51 pirofti Exp $ */
+/* $OpenBSD: acpiec.c,v 1.48 2013/07/02 18:37:47 kettenis Exp $ */
/*
* Copyright (c) 2006 Can Erkin Acar <canacar@openbsd.org>
*
@@ -343,6 +343,8 @@ acpiec_gpehandler(struct acpi_softc *acpi_sc, int gpe, void *arg)
if (stat & EC_STAT_SCI_EVT)
sc->sc_gotsci = 1;
+ else
+ sc->sc_gotsci = 0;
} while (sc->sc_gotsci);
/* Unmask the GPE which was blocked at interrupt time */