Re: 2.6.33-rc5-git2 -- ACPI Error: Attempt to CreateField oflength zero (20091214/dsopcode-529)

From: Lin Ming
Date: Wed Jan 27 2010 - 22:28:32 EST


On Wed, 2010-01-27 at 20:43 +0800, Miles Lane wrote:
> On Wed, Jan 27, 2010 at 3:04 AM, Lin Ming <ming.m.lin@xxxxxxxxx> wrote:
> >
> >> From: Miles Lane <miles.lane@xxxxxxxxx>
> >> Date: Wed, Jan 27, 2010 at 2:54 PM
> >> Subject: 2.6.33-rc5-git2 -- ACPI Error: Attempt to CreateField of
> >> length zero (20091214/dsopcode-529)
> >> To: ACPI Devel Maling List <linux-acpi@xxxxxxxxxxxxxxx>, LKML
> >> <linux-kernel@xxxxxxxxxxxxxxx>, Len Brown <lenb@xxxxxxxxxx>
> >>
> >>
> >> I am not sure how much of this is due to a single cause. Please let
> >> me know if you'd like me to send separate reports.
> >>
> >> ACPI: EC: GPE = 0x1b, I/O: command/status = 0x66, data = 0x62
> >> ACPI Warning: Incorrect checksum in table [ATKG] - FA, should be 05
> >> (20091214/tbutils-314)
> >>
> >> ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> >> ACPI Error: Attempt to CreateField of length zero (20091214/dsopcode-529)
> >> ACPI Error (psparse-0537): Method parse/execution failed
> >> [\_SB_.PCI0.IDE0.RATA] (Node ffff88013f81a9e0), AE_AML_OPERAND_VALUE
> >> ACPI Error (psparse-0537): Method parse/execution failed
> >> [\_SB_.PCI0.IDE0.PRT1._GTF] (Node ffff88013f81ab20),
> >> AE_AML_OPERAND_VALUE
> >> ata2.00: _GTF evaluation failed (AE 0x3004)
> >> ata2.00: ATAPI: MATSHITADVD-RAM UJ892AS, 1.00, max UDMA/100, ATAPI AN
> >> ACPI Error: Attempt to CreateField of length zero (20091214/dsopcode-529)
> >> ACPI Error (psparse-0537): Method parse/execution failed
> >> [\_SB_.PCI0.IDE0.RATA] (Node ffff88013f81a9e0), AE_AML_OPERAND_VALUE
> >> ACPI Error (psparse-0537): Method parse/execution failed
> >> [\_SB_.PCI0.IDE0.PRT1._GTF] (Node ffff88013f81ab20),
> >> AE_AML_OPERAND_VALUE
> >> ata2.00: _GTF evaluation failed (AE 0x3004)
> >> ata2.00: configured for UDMA/100
> >> scsi 1:0:0:0: CD-ROM MATSHITA DVD-RAM UJ892AS 1.00 PQ: 0 ANSI: 5
> >>
> >
> > >From the DSDT,
> >
> > 2522 Method (RATA, 1, NotSerialized)
> > 2523 {
> > 2524 CreateByteField (Arg0, Zero, CMDN)
> > 2525 Multiply (CMDN, 0x38, Local0)
> > 2526 CreateField (Arg0, 0x08, Local0, RETB)
> > 2527 Store (RETB, Debug)
> > 2528 Return (RETB)
> > 2529 }
> >
> > 2546 Name (ATP1, Buffer (0x32) {})
> > 2547 Device (PRT1)
> > 2548 {
> > 2549 Name (_ADR, 0x0001FFFF)
> > 2550 Method (_SDD, 1, NotSerialized)
> > 2551 {
> > 2552 Store (AGTF (Zero, Arg0), ATP1)
> > 2553 }
> > 2554
> > 2555 Method (_GTF, 0, NotSerialized)
> > 2556 {
> > 2557 Return (RATA (ATP1))
> > 2558 }
> > 2559 }
> >
> > It seems that ATP1 is not set correctly in PRT1._SDD.
> > Then ATP1 is passed into RATA and CMDN is created with value zero.
> > That causes the error message.
>
> This is the current BIOS for the ASUS UL50VT. Is this something that gets
> fixed by a BIOS update? Do you have a way to pass this information on to
> ASUS? Is there something the kernel code can do to work around the
> problem, or is that already happening?

Is this bug a regression? Did you see it with older kernel?
If yes, could you do a bisect?

Thanks,
Lin Ming

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/