mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 2.6.25 regression: 60417f5976df breaks Thinkpad suspend
@ 2008-04-15 11:53 George Spelvin
  2008-04-15 19:53 ` Tino Keitel
  2008-04-16 17:37 ` Rafael J. Wysocki
  0 siblings, 2 replies; 6+ messages in thread
From: George Spelvin @ 2008-04-15 11:53 UTC (permalink / raw)
  To: len.brown, rjw, linux-kernel, linux-acpi; +Cc: linux

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.

IBM Thinkpad T21, "type 2647".  biosdecode says "Machine Type/Model:
26478AU" and "BIOS Build ID: KZET22WW".  Early ACPI boot messages are

ACPI: RSDP 000F7160, 0014 (r0 PTLTD )
ACPI: RSDT 0FFF4D07, 002C (r1 PTLTD    RSDT    6040000  LTP        0)
ACPI: FACP 0FFFEB65, 0074 (r1 IBM    TP-T21    6040000             0)
ACPI: DSDT 0FFF4D33, 9E32 (r1 IBM    TP-T21    6040000 MSFT  100000C)
ACPI: FACS 0FFFF000, 0040
ACPI: BOOT 0FFFEBD9, 0027 (r1 PTLTD  $SBFTBL$  6040000  LTP        1)
ACPI: PM-Timer IO Port: 0x1008

With the patch applied and (default) enabled, there is a final disk
access (O(1 second) long) after the "sleeping"LED turns on, and then
the machine refuses to wake up.  Indeed, it refuses to be power-cycled,
as described above.

I'm not quite sure what The Right Thing to do is here, but I'm posting
this just to document that the patch is not perfect, and to help anyone
else who is stuck in the situation.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.25 regression: 60417f5976df breaks Thinkpad suspend
  2008-04-15 11:53 2.6.25 regression: 60417f5976df breaks Thinkpad suspend George Spelvin
@ 2008-04-15 19:53 ` Tino Keitel
  2008-04-16 17:37 ` Rafael J. Wysocki
  1 sibling, 0 replies; 6+ messages in thread
From: Tino Keitel @ 2008-04-15 19:53 UTC (permalink / raw)
  To: linux-kernel

On Tue, Apr 15, 2008 at 07:53:26 -0400, George Spelvin wrote:
> IBM Thinkpad T21, "type 2647".  biosdecode says "Machine Type/Model:
> 26478AU" and "BIOS Build ID: KZET22WW".  Early ACPI boot messages are

I could try to reproduce it on a T20, and also the "fix" you mentioned.

Regards,
Tino

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.25 regression: 60417f5976df breaks Thinkpad suspend
  2008-04-15 11:53 2.6.25 regression: 60417f5976df breaks Thinkpad suspend George Spelvin
  2008-04-15 19:53 ` Tino Keitel
@ 2008-04-16 17:37 ` Rafael J. Wysocki
  2008-04-17 11:16   ` Tino Keitel
                     ` (2 more replies)
  1 sibling, 3 replies; 6+ messages in thread
From: Rafael J. Wysocki @ 2008-04-16 17:37 UTC (permalink / raw)
  To: George Spelvin; +Cc: len.brown, linux-kernel, linux-acpi

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.25 regression: 60417f5976df breaks Thinkpad suspend
  2008-04-16 17:37 ` Rafael J. Wysocki
@ 2008-04-17 11:16   ` Tino Keitel
  2008-04-17 11:17   ` Tino Keitel
  2008-04-20 19:13   ` George Spelvin
  2 siblings, 0 replies; 6+ messages in thread
From: Tino Keitel @ 2008-04-17 11:16 UTC (permalink / raw)
  To: linux-kernel

On Wed, Apr 16, 2008 at 19:37:24 +0200, Rafael J. Wysocki wrote:

[...]

> 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.

I tried suspend to RAM with the final 2.6.25 on a T20 (which should be
very similar) and it worked fine. I could recheck with an affected rc
to verify that it was broken before.

Regards,
Tino

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.25 regression: 60417f5976df breaks Thinkpad suspend
  2008-04-16 17:37 ` Rafael J. Wysocki
  2008-04-17 11:16   ` Tino Keitel
@ 2008-04-17 11:17   ` Tino Keitel
  2008-04-20 19:13   ` George Spelvin
  2 siblings, 0 replies; 6+ messages in thread
From: Tino Keitel @ 2008-04-17 11:17 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: George Spelvin, len.brown, linux-kernel, linux-acpi

On Wed, Apr 16, 2008 at 19:37:24 +0200, Rafael J. Wysocki wrote:

[...]

> 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.

I tried suspend to RAM with the final 2.6.25 on a T20 (which should be
very similar) and it worked fine. I'll try to recheck with an affected
rc to verify that it was broken before.

Regards,
Tino

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.25 regression: 60417f5976df breaks Thinkpad suspend
  2008-04-16 17:37 ` Rafael J. Wysocki
  2008-04-17 11:16   ` Tino Keitel
  2008-04-17 11:17   ` Tino Keitel
@ 2008-04-20 19:13   ` George Spelvin
  2 siblings, 0 replies; 6+ messages in thread
From: George Spelvin @ 2008-04-20 19:13 UTC (permalink / raw)
  To: rjw, linux; +Cc: linux-kernel, linux-acpi, len.brown

"Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> 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.

With apologies for the long delay (I was in the middle of a lengthy debug
session I didn't want to lose to install a new kernel), yes 2.6.25-rc9 works
fine.

Thank you very much!

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-04-20 19:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-15 11:53 2.6.25 regression: 60417f5976df breaks Thinkpad suspend George Spelvin
2008-04-15 19:53 ` Tino Keitel
2008-04-16 17:37 ` Rafael J. Wysocki
2008-04-17 11:16   ` Tino Keitel
2008-04-17 11:17   ` Tino Keitel
2008-04-20 19:13   ` George Spelvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®