Bug 16246 - ACPI Error: Field [CMDX] at 224 exceeds Buffer [SCBF] size 168 (bits) (20100121/dsopcode-596)
Summary: ACPI Error: Field [CMDX] at 224 exceeds Buffer [SCBF] size 168 (bits) (201001...
Status: REJECTED DOCUMENTED
Alias: None
Product: ACPI
Classification: Unclassified
Component: ACPICA-Core (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Zhang Rui
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-18 15:26 UTC by Cristian Aravena Romero
Modified: 2010-06-30 07:16 UTC (History)
1 user (show)

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


Attachments
$dmesg 2.6.34-020634-generic (70.77 KB, text/plain)
2010-06-18 15:26 UTC, Cristian Aravena Romero
Details
acpidump.log (157.78 KB, text/plain)
2010-06-18 15:26 UTC, Cristian Aravena Romero
Details
lspci -vvnn (24.10 KB, text/plain)
2010-06-18 15:29 UTC, Cristian Aravena Romero
Details
/proc/acpi (16.08 KB, application/x-bzip)
2010-06-18 15:32 UTC, Cristian Aravena Romero
Details
image_BIOS (713.35 KB, application/x-lzma)
2010-06-24 13:11 UTC, Cristian Aravena Romero
Details
custom GTFB method (133 bytes, application/octet-stream)
2010-06-30 06:03 UTC, Zhang Rui
Details
custom GTFB method (133 bytes, application/octet-stream)
2010-06-30 07:16 UTC, Zhang Rui
Details

Description Cristian Aravena Romero 2010-06-18 15:26:13 UTC
Created attachment 26847 [details]
$dmesg 2.6.34-020634-generic

dmesg:


[24088.410374] ata1.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[24088.410381] ata1.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[24088.410389] ata1.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[24088.418378] ACPI Error: Field [CMDX] at 224 exceeds Buffer [SCBF] size 168 (bits) (20100121/dsopcode-596)
[24088.418392] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.SATA.GTFB] (Node f70350d8), AE_AML_BUFFER_LIMIT
[24088.418454] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.SATA.SPT0._SDD] (Node f7035018), AE_AML_BUFFER_LIMIT
[24088.418522] ata1.00: ACPI _SDD failed (AE 0x300a)
[24088.418527] ata1.00: revalidation failed (errno=-5)
[24093.728626] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[24093.729644] ACPI Error: Field [CMDX] at 224 exceeds Buffer [SCBF] size 168 (bits) (20100121/dsopcode-596)
[24093.729659] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.SATA.GTFB] (Node f70350d8), AE_AML_BUFFER_LIMIT
[24093.729720] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.SATA.SPT0._SDD] (Node f7035018), AE_AML_BUFFER_LIMIT
[24093.729786] ata1.00: ACPI _SDD failed (AE 0x300a)
[24093.729790] ata1.00: ACPI: failed the second time, disabled
Comment 1 Cristian Aravena Romero 2010-06-18 15:26:55 UTC
Created attachment 26848 [details]
acpidump.log
Comment 2 Cristian Aravena Romero 2010-06-18 15:29:07 UTC
Created attachment 26849 [details]
lspci -vvnn
Comment 3 Cristian Aravena Romero 2010-06-18 15:32:38 UTC
Created attachment 26850 [details]
/proc/acpi
Comment 4 Zhang Rui 2010-06-21 07:48:37 UTC
This is apparently an AML code bug to me.

_SDD invokes GTFB,

        Method (GTFB, 2, Serialized)
        {
            Multiply (CMDC, 0x38, Local0)
            CreateField (SCBF, Local0, 0x38, CMDX)
            Multiply (CMDC, 0x07, Local0)
            CreateByteField (SCBF, Add (Local0, 0x01), A001)
            Store (Arg0, CMDX)
            Store (Arg1, A001)
            Increment (CMDC)
        }
we can see that CMDC is increased everytime it's invoked but it's never reset.
so when execute this line of code "CreateField (SCBF, Local0, 0x38, CMDX)", Local0 will exceed the limit of SCBF sooner or later.

As this also affects windows, can you please verify if there is any new BIOS release for this laptop available?
Comment 5 Cristian Aravena Romero 2010-06-23 01:45:31 UTC
There is a new version of the BIOS.
Comment 6 Zhang Rui 2010-06-23 01:56:32 UTC
are you using the latest BIOS now?
If not, it would be good for you to try the latest BIOS and verify if the problem still exists.
Comment 7 Cristian Aravena Romero 2010-06-23 02:13:35 UTC
(In reply to comment #6)
> are you using the latest BIOS now?

Yes.
Comment 8 Zhang Rui 2010-06-23 02:30:42 UTC
the problem still exists?
anyway, I don't think Windows can workaround this problem, without changing the BIOS.
can you attach the acpidump output after upgrading the BIOS please?
Comment 10 Cristian Aravena Romero 2010-06-23 03:43:29 UTC
http://img638.imageshack.us/img638/4492/dscn4890.jpg
Comment 11 Zhang Rui 2010-06-24 08:39:42 UTC
sorry, I can not access to these pages.
can you attach the files in bugzilla?
Comment 12 Cristian Aravena Romero 2010-06-24 13:11:02 UTC
Created attachment 26929 [details]
image_BIOS
Comment 13 Zhang Rui 2010-06-30 06:03:29 UTC
Created attachment 26973 [details]
custom GTFB method

please
1. build a kernel later than 2.6.34, with CONFIG_ACPI_DEBUG set,
2. mount debugfs,
3. run "echo GFTB.aml > /sys/kernel/debug/acpi/custom_method"
and see if the problem still exists.
Comment 14 Zhang Rui 2010-06-30 06:04:17 UTC
anyway this is a BIOS bug that we can not fix in Linux kernel. Bug closed.

please feel free to re-open it if the custom GTFB method doesn't help.
Comment 15 Zhang Rui 2010-06-30 07:16:55 UTC
Created attachment 26975 [details]
custom GTFB method

please try this custom GTFB method instead of the previous one attached.

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