From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Shplx-00022S-OZ for garchives@archives.gentoo.org; Thu, 21 Jun 2012 22:22:42 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9474AE0C7C; Thu, 21 Jun 2012 22:22:26 +0000 (UTC) Received: from mail-lb0-f181.google.com (mail-lb0-f181.google.com [209.85.217.181]) by pigeon.gentoo.org (Postfix) with ESMTP id 890ECE0C72 for ; Thu, 21 Jun 2012 22:21:02 +0000 (UTC) Received: by lbbgk8 with SMTP id gk8so2854295lbb.40 for ; Thu, 21 Jun 2012 15:21:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type; bh=J9307TCpcJ/nPeKGBKUD+HPh8+UCHjhPAoGTdtREH20=; b=gAXZ/GGyW3CWOKGec7SbXuPJkOY4D6fPtbs3wBH804RMCpYT1ELFBr3/EWh8JeFrdV vNF34yf519YX4fPYew8T/hSv3r4YWFnKGannIHlcfuzUe/I2VlJVrQNXPTlkwYyjWdDH x71aZPp6zraFE/Olx7lPKNF28eAkiYEWHPJ4apQkqMpbCcv/NZO0Vsc8FNGoZPk6mYFx A76eDYs3Nz2EEh4Z+oerO37FxRnNGe3kXFJ+lvAJZ6LgbkL+09yPnI+v56Qjb/LjZrGe QS3YMoylGIsYaRYUU9JzUFzxAD13qYwd98iNLMm1fsz8fz3ur461+sIid4SN1E7ObGNL tfGg== Received: by 10.152.125.236 with SMTP id mt12mr27919576lab.12.1340317261557; Thu, 21 Jun 2012 15:21:01 -0700 (PDT) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Sender: paul.hartman@gmail.com Received: by 10.112.77.4 with HTTP; Thu, 21 Jun 2012 15:20:41 -0700 (PDT) In-Reply-To: References: From: Paul Hartman Date: Thu, 21 Jun 2012 17:20:41 -0500 X-Google-Sender-Auth: SXnv8-bGeLnvW773LjOxrSI84rI Message-ID: Subject: [gentoo-user] Re: Any DSDT/AML gurus out there? To: Gentoo User Content-Type: text/plain; charset=ISO-8859-1 X-Archives-Salt: d0ba7faf-4c20-4e30-9f7a-f701ae0b11b9 X-Archives-Hash: 29b759fc77c064ba4b4389373fe7e8a1 On Thu, May 17, 2012 at 4:56 PM, Paul Hartman wrote: > [ 6286.707038] ACPI Error: Method parse/execution failed > [\_SB_.PCI0.PIB_.EC0_.SMWR] (Node ffff88007d028348), > AE_AML_INFINITE_LOOP (20120111/psparse-536) > [ 6286.707074] ACPI Error: Method parse/execution failed > [\_SB_.PCI0.PIB_.EC0_.SMSL] (Node ffff88007d028398), > AE_AML_INFINITE_LOOP (20120111/psparse-536) > [ 6286.707096] ACPI Error: Method parse/execution failed > [\_SB_.PCI0.PIB_.EC0_._Q09] (Node ffff88007d028438), > AE_AML_INFINITE_LOOP (20120111/psparse-536) After much trial and error, Googling, reading DSDT for other laptops, and traversing archive.org for old web pages that no longer exist, I think I have figured it out. In the errors above the method SMWR has the real problem, the others shown afterward were the callers and victims of the infinite loop detection in kernel. In the disassembled code for the SMWR method there is a while loop that looks like it could be the cause of an infinite loop: And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) } This exact same infinite loop condition happened in 2 different methods in my DSDT, both of which gave me ACPI errors and caused battery levels to stop working. After making the change like the one shown below to these two while loops, I have not yet encountered an infinite loop error and my battery reading appears to work properly. Uptime of 2 hours with no ACPI errors yet! And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (0x00, Local3) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) Increment (Local3) If (LEqual (Local3, 0x32)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (0x00, Local3) } }