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.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV0._GTF] (Node df822bd0), AE_AML_OPERAND_VALUE 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.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV1._GTF] (Node df822b94), AE_AML_OPERAND_VALUE ata2.01: _GTF evaluation failed (AE 0x3006) Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
094e50b2f7
commit
48feb3c419
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue