Bug 23442 - [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS - Samsung NF310 Netbook
Summary: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS - Samsung NF310 Netbook
Status: CLOSED WILL_NOT_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: ACPICA-Core (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Robert Moore
URL:
Keywords:
: 201133 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-11-21 14:07 UTC by Simon Strandman
Modified: 2018-09-19 20:47 UTC (History)
6 users (show)

See Also:
Kernel Version: 2.6.37-rc2
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg (52.21 KB, text/plain)
2010-11-21 14:15 UTC, Simon Strandman
Details
acpidump (132.63 KB, text/plain)
2010-11-24 16:15 UTC, Simon Strandman
Details

Description Simon Strandman 2010-11-21 14:07:04 UTC
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!
Comment 1 Simon Strandman 2010-11-21 14:15:01 UTC
Created attachment 37812 [details]
dmesg
Comment 2 ykzhao 2010-11-24 00:37:19 UTC
Will you please attach the output of acpidump on your box?

Thanks.
Comment 3 Simon Strandman 2010-11-24 16:15:10 UTC
Created attachment 38062 [details]
acpidump

Here it is!

I'm on 2.6.37-rc3 now btw, same problem.
Comment 4 Robert Moore 2010-11-30 18:29:36 UTC
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)
}
Comment 5 Lin Ming 2010-12-17 01:07:01 UTC
Maybe we can delete the temporary nodes(CAPB in above example) in the end of each While loop.
Comment 6 Zhang Rui 2010-12-27 02:04:39 UTC
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.
Comment 7 Lin Ming 2010-12-28 08:12:26 UTC
No, ACPICA does not know that.

Need to know what Windows behavior is for this kind of AML code.
Comment 8 Simon Strandman 2010-12-28 11:44:01 UTC
(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?
Comment 9 Lin Ming 2010-12-29 02:51:38 UTC
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?
Comment 10 Simon Strandman 2011-01-03 17:02:40 UTC
> Did you see any problem in Windows?
> 

No, power management seems to work fine in Windows! Perhaps the problem is just harmless?
Comment 11 Simon Strandman 2011-02-16 11:14:20 UTC
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)
Comment 12 Zhang Rui 2012-01-18 02:24:08 UTC
It's great that kernel bugzilla is back.

can you please verify if the problem still exists in the latest upstream
kernel?
Comment 13 Simon Strandman 2012-01-23 11:06:37 UTC
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. :(
Comment 14 Zhang Rui 2012-02-02 06:14:36 UTC
Do you have a bug report in ACPICA bugzilla?
I think this one should be better tracked there.
Comment 15 Robert Moore 2012-02-02 20:30:29 UTC
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.
Comment 16 Simon Strandman 2012-02-07 21:34:39 UTC
> 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
Comment 17 Zhang Rui 2012-02-13 05:00:56 UTC
Great.
I'll close this bug report and let the discussion continues in acpica bugzilla.
Comment 18 magiblot 2018-09-19 20:47:13 UTC
*** Bug 201133 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.