* [PATCH] ata-acpi: don't call _GTF for disabled drive
@ 2008-03-25 8:50 Shaohua Li
2008-03-25 20:50 ` Rafael J. Wysocki
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Shaohua Li @ 2008-03-25 8:50 UTC (permalink / raw)
To: linux acpi, linux-ide; +Cc: Len Brown, Rafael J. Wysocki, Jeff Garzik
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>
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
index bf98a56..7cbf023 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;
}
}
}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] ata-acpi: don't call _GTF for disabled drive
2008-03-25 8:50 [PATCH] ata-acpi: don't call _GTF for disabled drive Shaohua Li
@ 2008-03-25 20:50 ` Rafael J. Wysocki
2008-03-26 1:13 ` Shaohua Li
2008-03-29 13:30 ` Tejun Heo
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2008-03-25 20:50 UTC (permalink / raw)
To: Shaohua Li; +Cc: linux acpi, linux-ide, Len Brown, Jeff Garzik
On Tuesday, 25 of March 2008, Shaohua Li wrote:
> 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>
>
> diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
> index bf98a56..7cbf023 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);
Hmm. What is the effect of calling ata_acpi_clear_gtf() on a disabled device?
> - 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;
> }
> }
> }
>
Rafael
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata-acpi: don't call _GTF for disabled drive
2008-03-25 20:50 ` Rafael J. Wysocki
@ 2008-03-26 1:13 ` Shaohua Li
2008-03-26 1:23 ` Rafael J. Wysocki
0 siblings, 1 reply; 7+ messages in thread
From: Shaohua Li @ 2008-03-26 1:13 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: linux acpi, linux-ide, Len Brown, Jeff Garzik
On Tue, 2008-03-25 at 21:50 +0100, Rafael J. Wysocki wrote:
> On Tuesday, 25 of March 2008, Shaohua Li wrote:
> > 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>
> >
> > diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
> > index bf98a56..7cbf023 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);
>
> Hmm. What is the effect of calling ata_acpi_clear_gtf() on a disabled device?
No effect, just free some memory if there is.
Thanks,
Shaohua
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata-acpi: don't call _GTF for disabled drive
2008-03-26 1:13 ` Shaohua Li
@ 2008-03-26 1:23 ` Rafael J. Wysocki
0 siblings, 0 replies; 7+ messages in thread
From: Rafael J. Wysocki @ 2008-03-26 1:23 UTC (permalink / raw)
To: Shaohua Li; +Cc: linux acpi, linux-ide, Len Brown, Jeff Garzik
On Wednesday, 26 of March 2008, Shaohua Li wrote:
>
> On Tue, 2008-03-25 at 21:50 +0100, Rafael J. Wysocki wrote:
> > On Tuesday, 25 of March 2008, Shaohua Li wrote:
> > > 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>
> > >
> > > diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
> > > index bf98a56..7cbf023 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);
> >
> > Hmm. What is the effect of calling ata_acpi_clear_gtf() on a disabled device?
> No effect, just free some memory if there is.
Ah, ok.
I just wondered why not to do "if (!ata_dev_enabled(dev)) continue" in both
loops.
Thanks,
Rafael
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata-acpi: don't call _GTF for disabled drive
2008-03-25 8:50 [PATCH] ata-acpi: don't call _GTF for disabled drive Shaohua Li
2008-03-25 20:50 ` Rafael J. Wysocki
@ 2008-03-29 13:30 ` Tejun Heo
2008-04-12 4:15 ` Jeff Garzik
2008-04-17 19:57 ` Jeff Garzik
3 siblings, 0 replies; 7+ messages in thread
From: Tejun Heo @ 2008-03-29 13:30 UTC (permalink / raw)
To: Shaohua Li
Cc: linux acpi, linux-ide, Len Brown, Rafael J. Wysocki, Jeff Garzik
Shaohua Li wrote:
> 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>
Acked-by: Tejun Heo <htejun@gmail.com>
Thanks for catching this.
--
tejun
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata-acpi: don't call _GTF for disabled drive
2008-03-25 8:50 [PATCH] ata-acpi: don't call _GTF for disabled drive Shaohua Li
2008-03-25 20:50 ` Rafael J. Wysocki
2008-03-29 13:30 ` Tejun Heo
@ 2008-04-12 4:15 ` Jeff Garzik
2008-04-17 19:57 ` Jeff Garzik
3 siblings, 0 replies; 7+ messages in thread
From: Jeff Garzik @ 2008-04-12 4:15 UTC (permalink / raw)
To: Shaohua Li; +Cc: linux acpi, linux-ide, Len Brown, Rafael J. Wysocki
Shaohua Li wrote:
> 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>
>
> diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
> index bf98a56..7cbf023 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;
I haven't heard any comments from other ACPI folks?
I'll apply this, unless someone objects...
Jeff
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata-acpi: don't call _GTF for disabled drive
2008-03-25 8:50 [PATCH] ata-acpi: don't call _GTF for disabled drive Shaohua Li
` (2 preceding siblings ...)
2008-04-12 4:15 ` Jeff Garzik
@ 2008-04-17 19:57 ` Jeff Garzik
3 siblings, 0 replies; 7+ messages in thread
From: Jeff Garzik @ 2008-04-17 19:57 UTC (permalink / raw)
To: Shaohua Li; +Cc: linux acpi, linux-ide, Len Brown, Rafael J. Wysocki
Shaohua Li wrote:
> 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>
well, no comments at all from anyone, even after a solicitation. sigh...
applied
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-04-17 19:57 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-25 8:50 [PATCH] ata-acpi: don't call _GTF for disabled drive Shaohua Li
2008-03-25 20:50 ` Rafael J. Wysocki
2008-03-26 1:13 ` Shaohua Li
2008-03-26 1:23 ` Rafael J. Wysocki
2008-03-29 13:30 ` Tejun Heo
2008-04-12 4:15 ` Jeff Garzik
2008-04-17 19:57 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).