Messages in this thread | | | Date | Tue, 14 Aug 2012 17:14:25 +0800 | From | Aaron Lu <> | Subject | Re: bisected regression: v3.6-rc1: resume from s2ram does not restore ata_piix (v3.5 worked) |
| |
On Tue, Aug 14, 2012 at 11:44:20AM +0300, Sergei Trofimovich wrote: > > The only problem I can see is the offending commit didn't do a gtm for > > IDE channel during init. It was used to be done in > > ata_acpi_associate_ide_port. > > > > So can you please test if the following code fix your problem? Thanks. > > Unfortunately, nothing changed. The same hangup after resume. > Did the bisected patch change the way kernel relies on ACPI > information?
No, I don't think so.
> I have some complains in dmesg output about it > (attached whole dmesg) like that: > > ACPI Exception: AE_AML_PACKAGE_LIMIT, Index (0x0000000000000004) is beyond end of object (20120711/exoparg2-418) > ACPI Error: Method parse/execution failed [\_SB_.C003.C09A._DOD] (Node ffff88007b82c988), AE_AML_PACKAGE_LIMIT (20120711/psparse-536) > ACPI Exception: AE_AML_PACKAGE_LIMIT, Evaluating _DOD (20120711/video-1149)
I guess the above errors are related to video, not ata.
> ata1: ACPI get timing mode failed (AE 0x1001)
This means the _GTM control method failed, I suppose this control method on your platform always failed, even with a working kernel. So this shouldn't be the cause.
> ACPI: Invalid Power Resource to register! Not related to the hang.
I've tried here with two systems, the sata controller are set to IDE mode using ata_piix driver and no problem with S3. Don't have a clue at the moment :-(
Thanks, Aaron
> > They are not new errors. > > > diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c > > index 902b5a4..0f338bb 100644 > > --- a/drivers/ata/libata-acpi.c > > +++ b/drivers/ata/libata-acpi.c > > @@ -1101,6 +1101,9 @@ static int ata_acpi_bind_host(struct ata_port *ap, acpi_handle *handle) > > if (!*handle) > > return -ENODEV; > > > > + if (ata_acpi_gtm(ap, &ap->__acpi_init_gtm) == 0) > > + ap->pflags |= ATA_PFLAG_INIT_GTM_VALID; > > + > > return 0; > > } > > > > Thanks, > > Aaron > >
| |