Re: 2.6.25 regression: 60417f5976df breaks Thinkpad suspend

From: Rafael J. Wysocki
Date: Wed Apr 16 2008 - 13:36:57 EST


On Tuesday, 15 of April 2008, George Spelvin wrote:
> When trying a recent 2.6.25 on a laptop, I discovered that it
> completely breaks suspend to RAM. It blanks the screen and lights up
> the sleeping light, but judging by the noises the laptop makes (help,
> low battery!) after being unplugged for a while, it doesn't actually
> suspend a whole lot.
>
> More interestingly, it gets the laptop into a state where the only ways
> I can make it respond are disconnecting and connecting AC power (beep),
> and holding the power button down for 4 seconds.
>
> The really interesting part is that after that, it won't turn on again!
> I have to disconnect power and remove the battery to reset it hard enough
> that it will respond to furtherpresses of the power button.
>
> This smells like a BIOS bug to me, but it's interesting that it gets tickled.
>
> The patch is unfortunately one that fixes other machines:
>
> > ACPI suspend: Call _PTS before suspending devices
> >
> > The ACPI 1.0 specification wants us to put devices into low power
> > states after executing the _PTS global control method, while ACPI
> > 2.0 and later want us to do that in the reverse order. The current
> > suspend code follows ACPI 2.0 in that respect which causes some
> > ACPI 1.0x systems to hang during suspend (ref.
> > http://bugzilla.kernel.org/show_bug.cgi?id=9528).
> >
> > Make the suspend code execute _PTS before putting devices into low
> > power states (ie. in accordance with ACPI 1.0x) and provide a command
> > line option to override the default if need be.
>
> Fortunately, the "acpi_new_pts_ordering" kernel parameter fixes it,
> but I waded through a full bisect (actually two, owing to some mistakes
> the first time) before finding out about it.

This change has been reverted from the current Linus' tree, so please check
if 2.6.25-rc9 (or a later git snapshot) works for you.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/