Bug 15260
Created attachment 24963 [details]
Toshiba Satellite A505 ACPI dump
Created attachment 24964 [details]
Toshiba Satellite A505 dmesg first boot
ACPI debugging and EC debugging enabled
Created attachment 24965 [details]
Toshiba Satellite A505 dmesg suspending to ram
ACPI debugging and EC debugging enabled
Created attachment 24966 [details]
Toshiba Satellite A505 dmesg resuming from S3
ACPI debugging and EC debugging enabled
Well, there doesn't seem to be any EC activity during suspend and resume. Please check the number of ACPI interrupts (in /proc/interrupts) before suspend and after resume. Are there any ACPI interrupts coming after resume at all? Created attachment 24973 [details]
Toshiba Satellite A505 Interrupt List Before Suspend
I don't seem to get any thermal interrupts listed here, even though I put the CPU under heavy load to get the fans to kick on.
Created attachment 24974 [details]
Toshiba Satellite A505 Interrupt List After Resume
I seem to stop receiving interrupts for CPU1 after resume, except at 30.
Yes, it looks like the ACPI interrupt (SCI) doesn't work after resume. If I add my dmi info to acpisleep_dmi_table[] and set the callback to init_set_sci_on_resume, ACPI events fire correctly after the first resume from S3, however /proc/interrupts still shows no activity on CPU1. ACPI events no longer fire after subsequent resumes from S3. If anyone has any ideas about what to try next, please let me know. Thanks. (In reply to comment #9) > If I add my dmi info to acpisleep_dmi_table[] and set the callback to > init_set_sci_on_resume, ACPI events fire correctly after the first resume > from > S3, however /proc/interrupts still shows no activity on CPU1. ACPI events no > longer fire after subsequent resumes from S3. If anyone has any ideas about > what to try next, please let me know. Thanks. please attach the lspci -vvxxx output 1. before the first resume. 2. after the first resume while ACPI events fire correctly. 3. after the second resume. it would be great if you can run the test again in a kernel with CONFIG_ACPI_DEBUG set. i.e. rebuild your kernel and reboot with boot option "acpi.debug_layer=0x04 acpi.debug_level=0x04". And then attach the dmesg output after the test in comment #9. Created attachment 25265 [details]
Toshiba Satellite A505 dmesg suspending to ram with more debugging
Created attachment 25266 [details]
Toshiba Satellite A505 dmesg resuming from S3 with more debugging
Created attachment 25267 [details]
Toshiba Satellite A505 lspci before suspending to ram
Created attachment 25268 [details]
Toshiba Satellite A505 lspci after resuming from S3
it seems that EC is not working any more. And the thermal and lid events are routed to EC. Reassign this to Alexey. Nathaniel, Rafael have improved behavior of EC across suspend/resume in 2.6.33. Could you please try it to check if the problem is resolved? Not really. The patch http://patchwork.kernel.org/patch/82732/ hasn't been merged yet, but Nathaniel tested one of the previous versions of it and it didn't help. I'm not really sure that's an EC issue, however. It looks like ACPI interrupts are not generated _at_ _all_ after resume, so it might be an IO-APIC issue just as well. Hi Alexey, I just tried the same tests in stable 2.6.33 and got the exact same behavior. I re-applied Rafael's new patch in Comment #17 and it didn't help me. I also tried various combinations of adding init_old_suspend_ordering and init_set_sci_en_on_resume callbacks in the acpisleep_dmi_table and it makes no difference. I honestly don't know how I was able to get the fan to kick back on after the first suspend as I mentioned earlier, because I can't get it to do that any more. Anyways, if you need some more debugging info of any kind please let me know. As requested, here is the dmesg output before suspend, after the first suspend (fan/lid, etc still work), and after second suspend (fan/lid, etc) no longer work. No interrupts shown for CPU1 in /proc/interrupts after first or second suspend. I had to add acpi_osi="Linux" to get this behavior. Created attachment 25376 [details]
Toshiba Satellite A505 dmesg suspending to ram with acpi_osi="Linux"
Created attachment 25377 [details]
Toshiba Satellite A505 dmesg first resume from S3 with acpi_osi="Linux"
Created attachment 25378 [details]
Toshiba Satellite A505 dmesg second resume from S3 with acpi_osi="Linux"
can you please apply the patches https://patchwork.kernel.org/patch/103587/ https://patchwork.kernel.org/patch/103588/ on top of the latest upstream kernel and see if they help? ping... close this bug as there is no response from the bug reporter. |
Created attachment 24962 [details] Toshiba Satellite A505 dmidecode output When I first boot this laptop, all of the ACPI buttons, bells and whistles work perfectly. It suspends to ram or disk with no problem. All hell breaks loose though when I resume from suspend, whether it is triggered from pm-suspend or /sys/power/state. My biggest concern is that the CPU fan does not come back on, and so the CPU temp will climb to unsafe levels. I've tried all sorts of trickery with the /proc/acpi/fan and /proc/acpi/thermal_zone IOs, as well as module unloading/reloading, to try and trigger the fan to come back on but I eventually just have to reboot. But in addition to the missing 'thermal' events, the 'lid' events stop firing after returning from standby, as well as events from my touchpad enable/disable button and lcd contrast buttons. Additional environment/hardware info follows: Additional info: Toshiba Satellite A505 lspci ============== 00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07) 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03) 00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03) 00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03) 00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) 00:1d.3 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93) 00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03) 00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03) 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02) 03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8172 (rev 10) 04:00.0 SD Host controller: Ricoh Co Ltd Device e822 (rev 01) 04:00.1 System peripheral: Ricoh Co Ltd Device e230 (rev 01) 04:00.2 System peripheral: Ricoh Co Ltd Device e852 (rev 01) I will attach some acpi debugging output before/after suspend shortly.