Hello On this machine I get a lot of ACPI errors during boot. It's a samsung NF310 Netbook with a Intel Atom N550 CPU. Linux has been a bit dodgy on this machine, I get other errors as well and have experienced a few crashes bug I'm not sure if it's related to these errors. It happens whith the included kernel in ubuntu 10.10 (2.6.35) and the latest rc (2.6.37-rc2). It happens with both 32 bit and 64 bit kernels. simon@nf310:~$ dmesg |grep -1 Error [ 0.765699] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug [ 0.773125] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20101013/dsfield-143) [ 0.773157] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88003d9af988), AE_ALREADY_EXISTS (20101013/psparse-537) [ 0.773188] ACPI: Marking method _OSC as Serialized because of AE_ALREADY_EXISTS error -- [ 0.803519] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT] [ 0.804131] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20101013/dsfield-143) [ 0.804164] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88003d9af988), AE_ALREADY_EXISTS (20101013/psparse-537) [ 0.821945] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) -- [ 0.969066] io scheduler cfq registered (default) [ 0.969793] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20101013/dsfield-143) [ 0.969826] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88003d9af988), AE_ALREADY_EXISTS (20101013/psparse-537) [ 0.970256] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20101013/dsfield-143) [ 0.970286] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88003d9af988), AE_ALREADY_EXISTS (20101013/psparse-537) [ 0.970645] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20101013/dsfield-143) [ 0.970674] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88003d9af988), AE_ALREADY_EXISTS (20101013/psparse-537) [ 0.971033] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20101013/dsfield-143) [ 0.971062] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88003d9af988), AE_ALREADY_EXISTS (20101013/psparse-537) [ 0.971246] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 Tell me if I need to provide any more information!
Created attachment 37812 [details] dmesg
Will you please attach the output of acpidump on your box? Thanks.
Created attachment 38062 [details] acpidump Here it is! I'm on 2.6.37-rc3 now btw, same problem.
We've seen this before, I think this is a duplicate. If _OSC is called with an Arg2 > 1 (which it is under Linux), then the while loop below will be executed more than once. On the second iteration, an attempt is made to create the CAPB buffer field a second time, which results in the failure seen. Method (_OSC, 4, NotSerialized) { Store (Arg2, Local0) Multiply (Local0, 0x04, Local1) Name (BUF1, Buffer (Local1) {}) Store (Arg3, BUF1) Store (0x00, Local1) Store (0x00, Local2) While (Local0) { Multiply (Local1, 0x04, Local2) CreateDWordField (BUF1, Local2, CAPB) If (Arg2) { And (CAPB, 0xFFFFFFFC) Or (CAPB, 0x00) } Else { } Increment (Local1) Decrement (Local0) } Return (BUF1) }
Maybe we can delete the temporary nodes(CAPB in above example) in the end of each While loop.
does ACPICA know that the temporary node is created in the while loop? how about this? Always reset the temporary node if found duplicate, together with a warning message.
No, ACPICA does not know that. Need to know what Windows behavior is for this kind of AML code.
(In reply to comment #7) > No, ACPICA does not know that. > > Need to know what Windows behavior is for this kind of AML code. I have windows on this machine also, is there anything I can run to retrieve that information?
I have tested Windows in virtual machine(qemu-kvm). Windows does not support this kind of AML code either. Did you see any problem in Windows?
> Did you see any problem in Windows? > No, power management seems to work fine in Windows! Perhaps the problem is just harmless?
This is with, 2.6.38-rc4, at least there are less errors now! simon@nf310:~$ dmesg |grep -1 Error [ 0.790621] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug [ 0.793930] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20110112/dsfield-143) [ 0.793961] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88007ab30988), AE_ALREADY_EXISTS (20110112/psparse-536) [ 0.793998] ACPI: Marking method _OSC as Serialized because of AE_ALREADY_EXISTS error -- [ 0.807295] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT] [ 0.807888] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20110112/dsfield-143) [ 0.807918] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88007ab30988), AE_ALREADY_EXISTS (20110112/psparse-536) [ 0.807971] pci0000:00: Requesting ACPI _OSC control (0x1d) [ 0.808249] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20110112/dsfield-143) [ 0.808277] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88007ab30988), AE_ALREADY_EXISTS (20110112/psparse-536) [ 0.826397] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15)
It's great that kernel bugzilla is back. can you please verify if the problem still exists in the latest upstream kernel?
Hello! Yes, it looks pretty much like before. This is with 3.3-rc1, ubuntu 11.10: simon@samsung-asdf:~$ dmesg | grep -2 Err [ 0.192902] ACPI: No dock devices found. [ 0.192923] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug [ 0.192923] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20120111/dsfield-143) [ 0.192923] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88007bf32988), AE_ALREADY_EXISTS (20120111/psparse-536) [ 0.192923] ACPI: Marking method _OSC as Serialized because of AE_ALREADY_EXISTS error [ 0.192923] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3f]) -- [ 0.225370] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP4._PRT] [ 0.225526] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT] [ 0.226050] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20120111/dsfield-143) [ 0.226079] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88007bf32988), AE_ALREADY_EXISTS (20120111/psparse-536) [ 0.226129] pci0000:00: Requesting ACPI _OSC control (0x1d) [ 0.226371] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20120111/dsfield-143) [ 0.226398] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node ffff88007bf32988), AE_ALREADY_EXISTS (20120111/psparse-536) [ 0.226445] pci0000:00: ACPI _OSC request failed (AE_ALREADY_EXISTS), returned control mask: 0x1d [ 0.226454] ACPI _OSC control for PCIe not granted, disabling ASPM Apparently ASPM is disabled as well which might explain why the battery last longer under windows. :(
Do you have a bug report in ACPICA bugzilla? I think this one should be better tracked there.
It looks like the Windows behavior is one of the following: 1) Windows does not invoke _OSC in this case 2) Windows invokes _OSC with Arg2 of value Integer 1. 3) Windows ignores error during _OSC execution.
> Do you have a bug report in ACPICA bugzilla? > I think this one should be better tracked there. Done! http://www.acpica.org/bugzilla/show_bug.cgi?id=946
Great. I'll close this bug report and let the discussion continues in acpica bugzilla.
*** Bug 201133 has been marked as a duplicate of this bug. ***