Kernel Bug Tracker – Bug 9930
[regression] after resume from mem: Method parse/execution failed [\_SB_.PCI0.IDE0.RATA]
Last modified: 2008-06-13 22:06:32 UTC
Distribution: Ubuntu Hardy
Hardware: ich7 + i945g + Pentium D 940 (Dual Core)
This issue happened after resume from mem. Anything seems to working ok, but there is no sound, alsa report sound card and you can chage volume. And this error:
[ 1337.008533] PCI: Setting latency timer of device 0000:00:1f.1 to 64
[ 1305.767808] ACPI Error (dsopcode-0483): Attempt to CreateField of length zero 
[ 1305.767815] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node f7c35900), AE_AML_OPERAND_VALUE
[ 1305.767842] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN0.DRV0._GTF] (Node f7c35678), AE_AML_OPERAND_VALUE
[ 1305.767870] ata1.00: _GTF evaluation failed (AE 0x3006)
[ 1337.011774] ACPI Error (dsopcode-0483): Attempt to CreateField of length zero 
[ 1337.011781] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node f7c35900), AE_AML_OPERAND_VALUE
Created attachment 14770 [details]
dmesg after suspend
This dmesg was taked from new vannila kernel, git version .. 10.02.2008
Created attachment 14771 [details]
Created attachment 14772 [details]
latest working kernel i know is 2.6.22. At the moment i didn't had time to test 2.6.23
Created attachment 14838 [details]
Kernel 2.6.23 do not have this issue.
Will you please try the boot option of "acpi.debug_level=0x0f" and attach the output of dmesg?
Of course the acpidump is useful.
Created attachment 14852 [details]
Created attachment 14853 [details]
Thanks for the info.
From the log in comment #7 it seems that the error message is caused by BIOS. In the course of device resume OS will call the _GTF method , in which RATA method is called. Because the field of length zero is attempted to be created in the RATA method, the OS reports the above error message. In fact the ATA0/ATA1/ATA2/ATA3 package is passed as the paramter of RATA and the package is initiailzed in the _STM method. The _STM method is used to set the controller's transfer timing setting, which is obtained by calling _GTM method. Because an uninitialized package is returned by _GTM method, it causes that _STM method can't configure ATA0/ATA1 package correctly and _GTF method can't be executed correctly.
> Method (RATA, 1, NotSerialized)
CreateByteField (Arg0, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
> CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
In the kernel 2.6.23 the module parameter(noacpi) is one, which means that the acpi method(for example _GTM, _STM, _GTF) isn't used by ata driver.So there is no error message.
But in the latest kernel the module parameter(noacpi) is zero, which means that the acpi method(_GTM, _STM, _GTF) will be used by ata driver. Because there are some errors about the _GTM and _GTF method, OS will report the error message.
Will you please try the boot option of "libata.noacpi=1" and see whether the error message still exists ?
Created attachment 14879 [details]
There is no error.
Thanks for the info. The boot option of "libata.noacpi=1" can make the system work well.
The bug will be rejected since it is a duplicated bug of 9804.
*** This bug has been marked as a duplicate of bug 9804 ***