Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jun 2004 13:44:47 -0700 (PDT)
From:      Nate Lawson <nate@root.org>
To:        Andrew Thompson <andy@fud.org.nz>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: AE_NO_HARDWARE_RESPONSE problems
Message-ID:  <20040628124854.X27408@root.org>
In-Reply-To: <20040628004724.GA4071@fire.masaclaw.co.nz>
References:  <20040628004724.GA4071@fire.masaclaw.co.nz>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 28 Jun 2004, Andrew Thompson wrote:
> On my HP Omnibook 6000 I get the following right after boot
>
> acpi_ec0: EcRead: Failed waiting for EC to send data.
>     ACPI-0502: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
>     ACPI-1303: *** Error: Method execution failed [\\_SB_.PCI0.ISA0.EC0_._Q20] (Node 0xc1350220), AE_NO_HARDWARE_RESPONSE
> acpi_ec0: evaluation of GPE query method _Q20 failed - AE_NO_HARDWARE_RESPONSE
>
> etc... I changed the loop on line 829 of acpi_ec.c from 1000 to 10000 and
> everything seems to be working fine. Is this a valid fix or will it cause
> problems elsewhere? One issue I can see is holding Giant for this length of
> time.
>
> --- /sys/dev/acpica/acpi_ec.c   Mon Jun 14 10:52:30 2004
> +++ /sys/dev/acpica/acpi_ec.c   Wed Jun 23 13:00:12 2004
> @@ -826,7 +826,7 @@
>       * command.  First, wait up to 1 ms in chunks of sc->ec_polldelay
>       * microseconds.
>       */
> -    for (i = 0; i < 1000 / sc->ec_polldelay; i++) {
> +    for (i = 0; i < 10000 / sc->ec_polldelay; i++) {
>         EcStatus = EC_GET_CSR(sc);
>         if (EVENT_READY(Event, EcStatus)) {
>             Status = AE_OK;

Try the code I just committed instead.

-Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040628124854.X27408>