From owner-freebsd-acpi@FreeBSD.ORG Mon Jun 28 00:47:48 2004 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8257116A4CE for ; Mon, 28 Jun 2004 00:47:48 +0000 (GMT) Received: from fire.masaclaw.co.nz (203-79-83-205.cable.paradise.net.nz [203.79.83.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 68EE543D41 for ; Mon, 28 Jun 2004 00:47:47 +0000 (GMT) (envelope-from andy@masaclaw.co.nz) Received: by fire.masaclaw.co.nz (Postfix, from userid 1001) id C207940A9; Mon, 28 Jun 2004 12:47:24 +1200 (NZST) Date: Mon, 28 Jun 2004 12:47:24 +1200 From: Andrew Thompson To: freebsd-acpi@freebsd.org Message-ID: <20040628004724.GA4071@fire.masaclaw.co.nz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i Subject: AE_NO_HARDWARE_RESPONSE problems X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2004 00:47:48 -0000 Hi, 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. dmesg: http://andy.masaclaw.co.nz/dmesg dmesg with patch: http://andy.masaclaw.co.nz/dmesg-patched ASL: http://andy.masaclaw.co.nz/hp6000.asl FreeBSD hudson.fire.org.nz 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Sat Jun 26 16:58:12 NZST 2004 root@hudson.fire.org.nz:/usr/obj/usr/src/sys/HUDSON i386 --- /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;