Bug 9930

Summary: [regression] after resume from mem: Method parse/execution failed [\_SB_.PCI0.IDE0.RATA]
Product: ACPI Reporter: Oleksij Rempel (fishor) (bug-track)
Component: Power-Sleep-WakeAssignee: ykzhao (yakui.zhao)
Status: CLOSED DUPLICATE    
Severity: normal CC: acpi-bugzilla, bunk
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.24, 2.6.25-rc1-git3 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: dmesg after suspend
dsdt
lspci-vvn
dmesg-2.6.23
dmesg-2.6.25-rc1_+acpi.debug
acpidump
dmesg ata.noacpi

Description Oleksij Rempel (fishor) 2008-02-10 07:51:15 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 [20070126]
[ 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 [20070126]
[ 1337.011781] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node f7c35900), AE_AML_OPERAND_VALUE
Comment 1 Oleksij Rempel (fishor) 2008-02-10 07:52:36 UTC
Created attachment 14770 [details]
dmesg after suspend

This dmesg was taked from new vannila kernel, git version ..  10.02.2008
Comment 2 Oleksij Rempel (fishor) 2008-02-10 07:53:27 UTC
Created attachment 14771 [details]
dsdt
Comment 3 Oleksij Rempel (fishor) 2008-02-10 07:54:21 UTC
Created attachment 14772 [details]
lspci-vvn
Comment 4 Oleksij Rempel (fishor) 2008-02-10 07:55:41 UTC
latest working kernel i know is 2.6.22. At the moment i didn't had time to test 2.6.23
Comment 5 Oleksij Rempel (fishor) 2008-02-14 06:58:37 UTC
Created attachment 14838 [details]
dmesg-2.6.23

Kernel 2.6.23 do not have this issue.
Comment 6 ykzhao 2008-02-14 17:59:24 UTC
Will you please try the boot option of "acpi.debug_level=0x0f" and attach the output of dmesg? 
Of course the acpidump is useful.
Thanks.
Comment 7 Oleksij Rempel (fishor) 2008-02-15 05:17:00 UTC
Created attachment 14852 [details]
dmesg-2.6.25-rc1_+acpi.debug
Comment 8 Oleksij Rempel (fishor) 2008-02-15 05:17:21 UTC
Created attachment 14853 [details]
acpidump
Comment 9 ykzhao 2008-02-17 22:05:04 UTC
Hi, Alexey
   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) 
                    Return (RETB)
                }

   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 ?
   Thanks.
Comment 10 Oleksij Rempel (fishor) 2008-02-17 23:51:20 UTC
Created attachment 14879 [details]
dmesg ata.noacpi

There is no error.
Comment 11 ykzhao 2008-02-18 01:21:20 UTC
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 ***