diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-08-08 17:25:42 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-08-08 17:25:42 +0000 |
commit | 75ce111b6828837d3d9f18c3a704529d1e6f3f76 (patch) | |
tree | 3b4b6bd73b97a3b315c80643edc69b7a6ffc5f85 /sys | |
parent | aaa746a215e8737262be3bc9291170911ed5fa68 (diff) |
Stop recursion introduced in rev 1.42, by reverting most of that commit.
We keep the busy diagnostic for now.
ok deraadt@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/acpi/acpiec.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/dev/acpi/acpiec.c b/sys/dev/acpi/acpiec.c index 87aef517b30..8df796d259b 100644 --- a/sys/dev/acpi/acpiec.c +++ b/sys/dev/acpi/acpiec.c @@ -1,4 +1,4 @@ -/* $OpenBSD: acpiec.c,v 1.42 2010/08/03 16:55:06 marco Exp $ */ +/* $OpenBSD: acpiec.c,v 1.43 2010/08/08 17:25:41 kettenis Exp $ */ /* * Copyright (c) 2006 Can Erkin Acar <canacar@openbsd.org> * @@ -223,8 +223,6 @@ acpiec_read(struct acpiec_softc *sc, u_int8_t addr, int len, u_int8_t *buffer) buffer[reg] = acpiec_read_1(sc, addr + reg); acpiec_burst_disable(sc); sc->sc_ecbusy = 0; - if (sc->sc_gotsci) - acpiec_sci_event(sc); } void @@ -244,8 +242,6 @@ acpiec_write(struct acpiec_softc *sc, u_int8_t addr, int len, u_int8_t *buffer) acpiec_write_1(sc, addr + reg, buffer[reg]); acpiec_burst_disable(sc); sc->sc_ecbusy = 0; - if (sc->sc_gotsci) - acpiec_sci_event(sc); } int @@ -321,10 +317,11 @@ acpiec_gpehandler(struct acpi_softc *acpi_sc, int gpe, void *arg) u_int8_t mask, stat, en; int s; + KASSERT(sc->sc_ecbusy == 0); dnprintf(10, "ACPIEC: got gpe\n"); do { - if (sc->sc_gotsci && !sc->sc_ecbusy) + if (sc->sc_gotsci) acpiec_sci_event(sc); stat = acpiec_status(sc); |