Most recent kernel where this bug did *NOT* occur: none Distribution: Debian Hardware Environment: IBM Thinkpad T20 Software Environment: Debian (mostly etch) Problem Description: This laptop contains two power resources: PSER and PSIO. After boot, both are enabled, according to the boot messages. After S3, /proc/acpi/power_resource/*/state indicates both resources as *OFF*. At least for PSER, where the DSDT checks a register bit in an IBM-specific GPIO chip on the mainboard, this is true. As this bit (called SSBY in IBM's DSDT) turns off the power for the serial port driver, serial communication is not possible in this state. The DSDT contains for the _SB_.PCI0.ISA_.UART._PR0 object a list containing both PSER and PSIO. Setting this bit manually (on my thinkpad it is outb -i 7 0x15EE 0x50, using XFree's outb, be carefull on other machines) does enable serial communications again. Steps to reproduce: Boot a Thinkpad T20, suspend it to S3, resume it. Run cat /proc/acpi/power_resource/PSER/state it reads "state: off" instead of "state: on" Trackdown: Not completely tracked. Somewhere in the pnp driver model, a suspend/resume request should arrive, which should be passed to the acpi layer, finally ending in acpi_power_transition.
please check if latest kernel fixes the issue. We merged a patch to support acpi D-state for PNP device, which should open the power source in resume.
2.6.23.8 on my T20 seems to pass this test. Please re-open if yours has an issue. dhcppc11:~ # uname -a Linux dhcppc11 2.6.23.8 #4 SMP Wed Nov 21 11:39:35 EST 2007 i686 i686 i386 GNU/Linux dhcppc11:~ # cat /proc/acpi/power_resource/PSER/state state: on system level: S0 order: 0 reference count: 0 dhcppc11:~ # echo mem > /sys/power/state dhcppc11:~ # cat /proc/acpi/power_resource/PSER/state state: on system level: S0 order: 0 reference count: 1
You are right. The D-State support for ACPI PNP devices fixes the issue. Sorry that I did not reply earlier. The T20 has been put out of service because of "Blink of Death" failure. Currently, the machine works and does not show the reported behaviour with a newer kernel.