[hardy][suspend] "libata.noacpi=1" should be enabled by default

Bug #202767 reported by Oleksij Rempel
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Tim Gardner
Hardy
Fix Released
Medium
Tim Gardner
Intrepid
Fix Released
Medium
Tim Gardner

Bug Description

Kernel version 2.6.24 provide new support of acpi for libata by default. This options make some problems with suspend on system with brocken DSDT like ASUS P5LD2-VM . Workaround is it to disbale it by setting "libata.noacpi=1" or "options libata noacpi=1"

Link to meta-bug for ASUS P5LD2-VM: Bug #202804

Revision history for this message
Oleksij Rempel (olerem) wrote :
Revision history for this message
Oleksij Rempel (olerem) wrote :
Revision history for this message
Oleksij Rempel (olerem) wrote :

This is brocken part of dmesg:

[ 0.726300] ACPI Error (dsopcode-0481): Attempt to CreateField of length zero [20070126]
[ 0.726308] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node f7c49900), AE_AML_OPERAND_VALUE
[ 0.726345] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN0.DRV0._GTF] (Node f7c49678), AE_AML_OPERAND_VALUE
[ 0.726392] ata1.00: _GTF evaluation failed (AE 0x3006)
[ 0.726424] ACPI Error (dsopcode-0481): Attempt to CreateField of length zero [20070126]
[ 0.726429] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node f7c49900), AE_AML_OPERAND_VALUE
[ 0.726457] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV0._GTF] (Node f7c49768), AE_AML_OPERAND_VALUE
[ 0.726485] ata2.00: _GTF evaluation failed (AE 0x3006)
[ 0.726640] ACPI Error (dsopcode-0481): Attempt to CreateField of length zero [20070126]
[ 0.726644] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node f7c49900), AE_AML_OPERAND_VALUE
[ 0.726670] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV1._GTF] (Node f7c497b0), AE_AML_OPERAND_VALUE
[ 0.726696] ata2.01: _GTF evaluation failed (AE 0x3006)

Oleksij Rempel (olerem)
description: updated
Revision history for this message
Oleksij Rempel (olerem) wrote :
Changed in linux-meta:
assignee: nobody → ubuntu-kernel-acpi
status: New → Confirmed
Revision history for this message
Oleksij Rempel (olerem) wrote :
Revision history for this message
Oleksij Rempel (olerem) wrote :
Changed in linux:
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Matteo Collina (matteo-collina) wrote :

My laptop (ASUS A8JS) has the same bug. However if I put that kernel flag the wireless stops after suspend.

Revision history for this message
Øyvind Stegard (oyvindstegard) wrote :

Just to confirm: I have a laptop with the same problem, a similar nasty ACPI-exception visible in the kernel log after resume from s2ram.

- I added "options libata noacpi=1" to /etc/modprobe.d/options
- Then ran "update-initramfs -k all -u" (don't know if this step is really necessary)..

Now the exception is gone and everything seems to be working fine.

00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 04) (prog-if 80 [Master])
        Subsystem: Uniwill Computer Corp Unknown device 9050
        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 18

Revision history for this message
Oleksij Rempel (olerem) wrote :

latest kernel git working for me perfektly. It was fixed upstream with some commit before kernel-2.6.25-git2, i do not have tim to find it out.

Revision history for this message
Oleksij Rempel (olerem) wrote : Re: [Bug 202767] Re: [hardy][suspend] "libata.noacpi=1" should be enabled by default
  • unnamed Edit (189 bytes, application/pgp-signature; name=signature.asc)

Here is the patch.

commit 48feb3c419508487becfb9ea3afcc54c3eac6d80
Author: Shaohua Li <email address hidden>
Date: Tue Mar 25 16:50:45 2008 +0800

    ata-acpi: don't call _GTF for disabled drive

    I got below log after a S3 resume in a ASUS A6VC laptop. The system
has
    only one IDE drive. It appears there is no reason calling _GTF for
    disabled drive.

    ACPI Error (dsopcode-0483): Attempt to CreateField of length zero
[20070126]
    ACPI Error (psparse-0537): Method parse/execution failed
[\_SB_.PCI0.IDE0.RA
    ACPI Error (psparse-0537): Method parse/execution failed
[\_SB_.PCI0.IDE0.CH
    ata2.00: _GTF evaluation failed (AE 0x3006)
    ACPI Error (dsopcode-0483): Attempt to CreateField of length zero
[20070126]
    ACPI Error (psparse-0537): Method parse/execution failed
[\_SB_.PCI0.IDE0.RA
    ACPI Error (psparse-0537): Method parse/execution failed
[\_SB_.PCI0.IDE0.CH
    ata2.01: _GTF evaluation failed (AE 0x3006)

    Signed-off-by: Shaohua Li <email address hidden>
    Signed-off-by: Jeff Garzik <email address hidden>

diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
index f88a4f9..8c1cfc6 100644
--- a/drivers/ata/libata-acpi.c
+++ b/drivers/ata/libata-acpi.c
@@ -839,7 +839,8 @@ void ata_acpi_on_resume(struct ata_port *ap)
                 */
                ata_link_for_each_dev(dev, &ap->link) {
                        ata_acpi_clear_gtf(dev);
- if (ata_dev_get_GTF(dev, NULL) >= 0)
+ if (ata_dev_enabled(dev) &&
+ ata_dev_get_GTF(dev, NULL) >= 0)
                                dev->flags |= ATA_DFLAG_ACPI_PENDING;
                }
        } else {
@@ -849,7 +850,8 @@ void ata_acpi_on_resume(struct ata_port *ap)
                 */
                ata_link_for_each_dev(dev, &ap->link) {
                        ata_acpi_clear_gtf(dev);
- dev->flags |= ATA_DFLAG_ACPI_PENDING;
+ if (ata_dev_enabled(dev))
+ dev->flags |= ATA_DFLAG_ACPI_PENDING;
                }
        }
 }

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

For anyone interested,

The upcoming Intrepid Ibex 8.10 kernel contains this patch as it was most recently rebased with the upstream 2.6.25 kernel. It is currently available in the following PPA:

https://edge.launchpad.net/~kernel-ppa/+archive

If you are not familiar with how to install packages from a PPA basically do the following . . .

Create the file /etc/apt/sources.list.d/kernel-ppa.list to include the following two lines:

deb http://ppa.launchpad.net/kernel-ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/kernel-ppa/ubuntu hardy main

Then run the command: sudo apt-get update

You should then be able to install the linux-image-2.6.25 kernel package. After you've finished testing you can remove the kernel-ppa.list file and run 'sudo apt-get update' once more. Please let us know your results. Thanks.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

SRU Justification:

Impact: Suspend to RAM fails for some combinations of ACPI and libata.

Patch Description: Upstream cherry-pick, Don't call ata_dev_get_GTF() for a disabled drive.

Patch: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=commit;h=feb7e4ba8ff3771cc9e79ef3c26e3ced7487cb9d

TEST CASE: See comment 3.

Changed in linux:
assignee: ubuntu-kernel-acpi → timg-tpi
milestone: none → ubuntu-8.04.1
status: Triaged → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into -proposed, please test and give feedback here

Changed in linux:
status: New → Fix Committed
Revision history for this message
Oleksij Rempel (olerem) wrote :

Is it possible to combine kernel vanila and ubuntu-hardy to save space? Or some where available precompiled -proposed kernel ?

Steve Langasek (vorlon)
Changed in linux:
milestone: ubuntu-8.04.1 → none
assignee: nobody → timg-tpi
importance: Undecided → Medium
Revision history for this message
Oleksij Rempel (olerem) wrote :
  • dmesg_ok Edit (36.5 KiB, text/plain; name=dmesg_ok; charset=utf-8)

i confirm. It was fixed with 2.6.24-19-generic

Revision history for this message
Martin Pitt (pitti) wrote :

Copied to hardy-updates.

Changed in linux:
status: Fix Committed → Fix Released
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Marking "Fix Released" for Intrepid.

Changed in linux:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.