linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).