From mboxrd@z Thu Jan 1 00:00:00 1970 From: Len Brown Subject: Re: Fixing broken DSDT - code suggestions for comment please! Date: 17 May 2004 21:00:06 -0400 Sender: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Message-ID: <1084842006.12349.372.camel@dhcppc4> References: <40A73460.2070407@mesias.co.uk> <1084822558.12353.365.camel@dhcppc4> <40A95EB3.5070206@mesias.co.uk> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <40A95EB3.5070206-Nk/s8sJ9yP7QXOPxS62xeg@public.gmane.org> Errors-To: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Cam Cc: ACPI Developers , Robert Moore List-Id: linux-acpi@vger.kernel.org On Mon, 2004-05-17 at 20:54, Cam wrote: > Len > > thanks for the feedback and comments, > > Len Brown wrote: > > Please verify that you still have this problem > > when running the latest iasl: > > > > http://www.intel.com/technology/IAPC/acpi/downloads.htm > > I was working with iasl-linux-20030918 which I think is the latest. Do > you think the Store(Local0, Local0) is an iasl bug? I can send the dsdt > binary if you are interested. Follow the link above to download a version 6 months newer. > > >>Later there are two other errors not mentioned in the FAQ: > >> > >>dsdt.dsl 2390: Return (WQS (0x0E, Arg0)) > >>Error 1029 - ^ Called method returns no > >>value > >> > >> > >>dsdt.dsl 2395: Return (WQSB (0x0E, Arg0)) > >>Error 1029 - Called method returns no value ^ > >> > > [... my bad fix snipped ...] > > > no. the problem is that WQS and WQSB need to have Return() statements. > > OK from another look at the code I see the declarations for the WQS and > WQSB methods. I am struggling what to return from these. Zero? Arg0? > Arg1? Some success/fail code? Any ideas? There are lots of calls to WQS > and WQSB that mostly seem to discard the (not yet) returned value. > > > Method (WQSB, 2, NotSerialized) > { > If (LNot (LOr (\_SB.PCI0.ISA.EC0.FBAT, > \_SB.PCI0.ISA.EC0.FTMP))) > { > Store (0x01, \_SB.PCI0.ISA.EC0.FQSB) > And (Arg1, 0xFF, Local0) > ShiftRight (Arg1, 0x08, Local1) > And (Local1, 0xFF, Local1) > Acquire (\_SB.PCI0.ISA.EC0.BNKM, 0xFFFF) > Store (Local1, \_SB.PCI0.ISA.EC0.CMD3) > Store (Local0, \_SB.PCI0.ISA.EC0.CMD2) > Store (Arg0, \_SB.PCI0.ISA.EC0.CMD1) > Store (0xE9, \_SB.PCI0.ISA.EC0.CMCM) > Release (\_SB.PCI0.ISA.EC0.BNKM) > Store (0x00, \_SB.PCI0.ISA.EC0.FQSB) > } > } > > > Method (WQS, 2, NotSerialized) > { > While (LOr (\_SB.PCI0.ISA.EC0.FBAT, > \_SB.PCI0.ISA.EC0.FTMP)) { > Noop > } > > > Store (0x01, \_SB.PCI0.ISA.EC0.FQSB) > And (Arg1, 0xFF, Local0) > ShiftRight (Arg1, 0x08, Local1) > And (Local1, 0xFF, Local1) > Acquire (\_SB.PCI0.ISA.EC0.BNKM, 0xFFFF) > Store (Local1, \_SB.PCI0.ISA.EC0.CMD3) > Store (Local0, \_SB.PCI0.ISA.EC0.CMD2) > Store (Arg0, \_SB.PCI0.ISA.EC0.CMD1) > Store (0xE9, \_SB.PCI0.ISA.EC0.CMCM) > Release (\_SB.PCI0.ISA.EC0.BNKM) > Store (0x00, \_SB.PCI0.ISA.EC0.FQSB) > } usually the fix to the 'implicit return bug' is to return the value returned by the last method called. I guess here you'd return 0? -Len ------------------------------------------------------- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click