Subject: Re: ACPI in HEAD 4.9.42
To: None <current-users@netbsd.org>
From: Joerg Sonnenberger <joerg@britannica.bec.de>
List: current-users
Date: 12/14/2007 00:10:34
--ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Mon, Dec 10, 2007 at 10:12:15PM +0000, Pavel Jirout wrote:
> after todays update of userland and kernel (GENERIC i386) I get these console messages
> Im using an IBM Thinkpad X24 (sorry, its old)
X24 is now considered old? I have an A20 that is certainly older :-)
The battery status methods are interesting. Can you try the attached
patch? Alternatively, try to increase EC_POLL_TIMEOUT to 1000 or so.
Joerg
--ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="acpi_ec.c.diff"
Index: acpi_ec.c
===================================================================
RCS file: /data/repo/netbsd/src/sys/dev/acpi/acpi_ec.c,v
retrieving revision 1.44
diff -u -p -r1.44 acpi_ec.c
--- acpi_ec.c 9 Dec 2007 20:27:52 -0000 1.44
+++ acpi_ec.c 13 Dec 2007 23:08:09 -0000
@@ -537,7 +537,7 @@ retry:
delay(1);
acpiec_gpe_state_maschine(dv);
}
- } else while (cv_timedwait(&sc->sc_cv, &sc->sc_mtx, hz)) {
+ } else while (cv_timedwait(&sc->sc_cv, &sc->sc_mtx, 5 * hz)) {
mutex_exit(&sc->sc_mtx);
AcpiClearGpe(sc->sc_gpeh, sc->sc_gpebit, ACPI_NOT_ISR);
mutex_enter(&sc->sc_mtx);
@@ -545,7 +545,7 @@ retry:
goto retry;
mutex_exit(&sc->sc_mtx);
acpiec_unlock(dv);
- aprint_error_dev(dv, "command takes over 5sec...\n");
+ aprint_error_dev(dv, "command takes over 25 sec...\n");
return AE_ERROR;
}
@@ -583,7 +583,7 @@ retry:
delay(1);
acpiec_gpe_state_maschine(dv);
}
- } else while (cv_timedwait(&sc->sc_cv, &sc->sc_mtx, hz)) {
+ } else while (cv_timedwait(&sc->sc_cv, &sc->sc_mtx, 5 * hz)) {
mutex_exit(&sc->sc_mtx);
AcpiClearGpe(sc->sc_gpeh, sc->sc_gpebit, ACPI_NOT_ISR);
mutex_enter(&sc->sc_mtx);
@@ -591,7 +591,7 @@ retry:
goto retry;
mutex_exit(&sc->sc_mtx);
acpiec_unlock(dv);
- aprint_error_dev(dv, "command takes over 5sec...\n");
+ aprint_error_dev(dv, "command takes over 25 sec...\n");
return AE_ERROR;
}
--ibTvN161/egqYuK8--