Re: 2.6.25 regression: 60417f5976df breaks Thinkpad suspend

Previous thread: [RFC PATCH 0/2] Debugging infrastructure for Futexes using Markers by K. Prasad on Tuesday, April 15, 2008 - 4:50 am. (46 messages)

Next thread: Block IO: more io-cpu-affinity results by Alan D. Brunelle on Tuesday, April 15, 2008 - 5:47 am. (2 messages)
From: George Spelvin
Date: Tuesday, April 15, 2008 - 4:53 am

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.


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

From: Tino Keitel
Date: Tuesday, April 15, 2008 - 12:53 pm

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

Regards,
Tino
--

From: Rafael J. Wysocki
Date: Wednesday, April 16, 2008 - 10:37 am

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

From: Tino Keitel
Date: Thursday, April 17, 2008 - 4:16 am

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


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

From: Tino Keitel
Date: Thursday, April 17, 2008 - 4:17 am

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


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

From: George Spelvin
Date: Sunday, April 20, 2008 - 12:13 pm

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

Previous thread: [RFC PATCH 0/2] Debugging infrastructure for Futexes using Markers by K. Prasad on Tuesday, April 15, 2008 - 4:50 am. (46 messages)

Next thread: Block IO: more io-cpu-affinity results by Alan D. Brunelle on Tuesday, April 15, 2008 - 5:47 am. (2 messages)