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>
Here is the patch.
commit 48feb3c41950848 7becfb9ea3afcc5 4c3eac6d80
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 ata/libata- acpi.c ata/libata- acpi.c on_resume( struct ata_port *ap)
ata_link_ for_each_ dev(dev, &ap->link) {
ata_ acpi_clear_ gtf(dev) ; get_GTF( dev, NULL) >= 0) enabled( dev) && get_GTF( dev, NULL) >= 0)
dev- >flags |= ATA_DFLAG_ ACPI_PENDING; on_resume( struct ata_port *ap)
ata_link_ for_each_ dev(dev, &ap->link) {
ata_ acpi_clear_ gtf(dev) ; ACPI_PENDING; enabled( dev)) ACPI_PENDING;
index f88a4f9..8c1cfc6 100644
--- a/drivers/
+++ b/drivers/
@@ -839,7 +839,8 @@ void ata_acpi_
*/
- if (ata_dev_
+ if (ata_dev_
+ ata_dev_
}
} else {
@@ -849,7 +850,8 @@ void ata_acpi_
*/
- dev->flags |= ATA_DFLAG_
+ if (ata_dev_
+ dev->flags |= ATA_DFLAG_
}
}
}