Bug 7907

Summary: _GTF - Method parse/execution failed - AE_AML_OPERAND_VALUE - ASUS P5LD2-WM (i945g)
Product: IO/Storage Reporter: Oleksij Rempel (fishor) (bug-track)
Component: Serial ATAAssignee: Kristen (kristen.c.accardi)
Status: RESOLVED CODE_FIX    
Severity: normal CC: acpi-bugzilla, elgrande71, htejun, jirislaby, trenn, xhejtman
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.20-rc6-mm3 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 8080    
Attachments: dsdt
dmesg
lspci
dmesg 2.6.20-rc7
kernel log from 2.6.21-rc3-git4 patch
kernel log from 2.6.21-rc3-git4 patch with libata.noacpi=1
quick and dirty libata PATA acpi fix
quick and dirty libata PATA acpi fix

Description Oleksij Rempel (fishor) 2007-01-31 02:21:50 UTC
I didn't get version 2.6.20-rc6 to compile with selinux. well the last working
version for me is 2.6.20-rc5.
I use 2.6.20-rc6-mm3 #2 Wed Jan 31 09:04:12 CET 2007 i686 Intel(R) Celeron(R)
CPU 2.53GHz GenuineIntel GNU/Linux
On ASUS P5LD2-WM ( Intel 945g + ich7 )

After boot i get flowing error:
PCI: Setting latency timer of device 0000:00:1f.1 to 64
ata1: PATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFFA0 irq 14
ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFFA8 irq 15
scsi0 : ata_piix
ACPI Error (dsopcode-0481): Attempt to CreateField of length zero [20070126]
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA]
(Node c18da888), AE_AML_OPERAND_VALUE
ACPI Error (psparse-0537): Method parse/execution failed
[\_SB_.PCI0.IDE0.CHN0.DRV1._GTF] (Node c18daa68), AE_AML_OPERAND_VALUE
ata1.01: ATAPI, max UDMA/33
ACPI Error (dsopcode-0481): Attempt to CreateField of length zero [20070126]
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA]
(Node c18da888), AE_AML_OPERAND_VALUE
ACPI Error (psparse-0537): Method parse/execution failed
[\_SB_.PCI0.IDE0.CHN0.DRV1._GTF] (Node c18daa68), AE_AML_OPERAND_VALUE
ata1.01: configured for UDMA/33
scsi1 : ata_piix
Comment 1 Oleksij Rempel (fishor) 2007-01-31 02:23:01 UTC
Created attachment 10236 [details]
dsdt
Comment 2 Oleksij Rempel (fishor) 2007-01-31 02:23:23 UTC
Created attachment 10237 [details]
dmesg
Comment 3 Oleksij Rempel (fishor) 2007-01-31 02:23:49 UTC
Created attachment 10238 [details]
lspci
Comment 4 Oleksij Rempel (fishor) 2007-01-31 09:12:06 UTC
Created attachment 10241 [details]
dmesg 2.6.20-rc7

kernel 2.6.20-rc7 working for me without error.
Comment 5 Len Brown 2007-01-31 19:21:42 UTC
Do you get the same warning if you apply the latest ACPI patch
to latest Linux git tree (ie. exclude the rest of -mm?)

The latest ACPI patch is available here:
http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/test/2.6.20/
Comment 6 Len Brown 2007-01-31 19:26:49 UTC
Alternatively, if you are working with the -mm tree,
consider reverting the two patches outside the git-acpi.patch
that touch _GTF:

git-libata-all.patch
ide-ide-acpi-support.patch:adapter
Comment 7 Oleksij Rempel (fishor) 2007-02-01 00:15:41 UTC
I don't get this warning with latest git 2.6.20-rc7-dirty +
acpi-test-20070126-2.6.20-rc6 patch.
Comment 8 Len Brown 2007-02-01 10:51:05 UTC
Thanks for confirming that the latest ACPI patch isn't (by itself)
causing the issue.

Can you isolate the problem to one of these two patches?

http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20-
rc6/2.6.20-rc6-mm3/broken-out/git-libata-all.patch

http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20-
rc6/2.6.20-rc6-mm3/broken-out/ide-ide-acpi-support.patch
Comment 9 Oleksij Rempel (fishor) 2007-02-01 11:30:24 UTC
i forgot to say: i don't use drivers/ide/* , i use libata for my pata and sata
interfaces. It should not be ide-ide-acpi-support.patch .. but i will test it
anyway.
Comment 10 Robert Moore 2007-02-01 15:18:06 UTC
From examining the AML, the failure of method RATA and its parent _GTF (Get 
Task File) can happen if the device _STM method has not been called first to 
initialize the data structures.

ACPI spec states "_GTF must be called after calling _STM". Although ambiguous, 
it means that _GTF can only be called after _STM has been called.
Comment 11 Oleksij Rempel (fishor) 2007-02-01 23:01:33 UTC
For Len.
I confirm, the git-libata-all.patch is  broken for me.
Comment 12 Alexey Starikovskiy 2007-02-07 10:10:03 UTC
*** Bug 7958 has been marked as a duplicate of this bug. ***
Comment 13 Thomas Renninger 2007-02-19 10:59:55 UTC
> ACPI spec states "_GTF must be called after calling _STM". Although
> ambiguous, it means that _GTF can only be called after _STM has been called.

Sorry for reading that one so late...
I also stumbled over this. It's easy to reproduce with acpiexec tools calling 
_STM and _GTM in wrong order.

Tejun might know more about that.
Comment 14 Thomas Renninger 2007-02-19 11:19:20 UTC
Another error message, but the same bug:
https://bugzilla.novell.com/show_bug.cgi?id=216853
Comment 15 Oleksij Rempel (fishor) 2007-03-07 10:59:05 UTC
This issue is still or again present on 2.6.21-rc3
Comment 16 Len Brown 2007-03-08 15:45:25 UTC
this goes away with libata.noacpi=1?
Comment 17 Len Brown 2007-03-08 15:54:14 UTC
*** Bug 8046 has been marked as a duplicate of this bug. ***
Comment 18 Len Brown 2007-03-08 15:54:58 UTC
*** Bug 8095 has been marked as a duplicate of this bug. ***
Comment 19 Oleksij Rempel (fishor) 2007-03-08 23:09:08 UTC
> this goes away with libata.noacpi=1?
yes it goes away. 
Comment 20 Olivier Mondoloni 2007-03-09 01:49:31 UTC
For me too, ACPI errors goes away with libata.noacpi=1 kernel parameter.
Comment 21 Olivier Mondoloni 2007-03-09 02:27:21 UTC
Created attachment 10663 [details]
kernel log from 2.6.21-rc3-git4 patch

Always acpi errors related libata acpi (pata_via for me).
Comment 22 Olivier Mondoloni 2007-03-09 02:30:00 UTC
Created attachment 10664 [details]
kernel log from 2.6.21-rc3-git4 patch with libata.noacpi=1

No acpi errors related to libata acpi (pata_via for me) with the boot kernel
parameter libata.noacpi=1 .
Comment 23 Kristen 2007-03-09 13:29:06 UTC
Created attachment 10667 [details]
quick and dirty libata PATA acpi fix

This patch will prevent execution of GTF on PATA devices.  Longer term we
should implement ACPI support for PATA devices in libata.
Comment 24 Kristen 2007-03-09 13:31:48 UTC
Would you mind giving this patch a test?  I do not have a machine which can
duplicate the problem.

for now (2.6.21) I was thinking we should just not allow GTF for PATA devices,
since to implement ACPI support for PATA would require more extensive changes
and probably should live in -mm for a while first.

Comment 25 Kristen 2007-03-09 13:41:59 UTC
Created attachment 10668 [details]
quick and dirty libata PATA acpi fix

This patch will prevent execution of GTF on PATA devices
Comment 26 Len Brown 2007-03-09 15:23:27 UTC
patch in comment #25 applied to acpi-test
Comment 27 Oleksij Rempel (fishor) 2007-03-10 00:57:05 UTC
Thank you. This patch working for me.
Comment 28 Olivier Mondoloni 2007-03-10 04:59:57 UTC
Works for me too. Thank you.
2.6.21-rc3-git6 patch successfully tested.