Latest working kernel version: 2.6.27.10 Earliest failing kernel version: 2.6.28-rc1 Distribution: gentoo Hardware Environment: HP 2510p Software Environment: 2.6 kernel with ACPI builtin Problem Description: The sleep function worked on myHP2510 with all versions of 2.6.27, but in the 2.6.28 it did not woke up from suspend2ram. If i set acpi_sleep=s3_beep the machine beep when it wakes up, but the screen stays blank, and dont respond to anything. Neither worked with my own kernel config or generic settings. dmesg: http://pastebin.com/m40d55a85 dmidecode: http://pastebin.com/m582f32de lspci: http://pastebin.com/m6a6d0297 lsusb: http://pastebin.com/m6485c015 kernel config: http://pastebin.com/m78880dfb Steps to reproduce: echo -n mem > /sys/power/state
Nothing jumps out in the dmesg, can you provide the dmesg from the latest working kernel? Can you provide the .config from the latest working and earliest failing kernels? Can you identify what part of suspend is failing by following Documentation/power/basic-pm-debugging.txt ? Can you git bisect the kernel to find out what commit caused the failure? http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html
dmesg from the latest working kernel: http://pastebin.com/m46820298 i used default config with suspend2ram and hdd support with both of the kernels pm debug: works with: freezer, devices dont work with: platform, processors, core (/sys/power/pm_test)
Hard to say why it broke. Failure to work with 'platform' pm_test means _PTS is failing for some reason.
A couple of curious things in the 2.6.27.10 vs 2.6.28 diff... "Using ACPI (MADT) for SMP configuration information" is missing from the 2.8.28 dmesg... I assume that /proc/interrutps looks the same in both cases? < ACPI: Battery Slot [C23D] (battery absent) --- > ACPI: Battery Slot [C23D] (battery present) I'd think that detecting the battery in .28 is a good thingk, but not an expected difference... was the battery physically present in both cases and /proc/acpi/battery/*/* is sane in both cases? you can try the drivers/acpi/ec.c from 2.6.27 in 2.6.28 (and verse visa) if you detect a difference. < ACPI: Transitioning device [C3B1] to D3 425d334 < ACPI: Transitioning device [C3B2] to D3 428d336 < ACPI: Transitioning device [C3C8] to D3 431d338 < ACPI: Transitioning device [C3C9] to D3 434d340 < ACPI: Transitioning device [C3CA] to D3 437d342 < ACPI: Transitioning device [C3CB] to D3 440d344 < ACPI: Transitioning device [C3CC] to D3 Unclear why these fans are turned off in .27 and not in .28 if you can isolate the regression via git bisect, that would be ideal.
Created attachment 19461 [details] /proc/interrupts 2.8.28-rc9
Hi, David It will be ideal if you can use the git-bisect to identify the commit which causes the regression. Of course please attach the output of acpidump? Thanks.
Hi, David Will you please enable the "CONFIG_PM_TRACE" in kernel configuration and do the following test on 2.6.28-rc1? (The boot option of "acpi_sleep=s3_beep" should be added). a. echo 1 > /sys/power/pm_trace b. echo mem > /sys/power/state; dmesg >dmesg_after; c. press the power button and see whether the beep voice can be heard and the system can be resumed If the system can't be resumed, please reboot the system and check whether there exists the file of "dmesg_after". If there is no file of "dmesg_after", please look at the dmesg for things like the following: >Magic number: 4:156:725 >hash matches drivers/base/power/resume.c:28 >hash matches device 0000:01:00.0 Thanks.
Hi, David Please ignore the comment #7 as it doesn't with the pm debug option of "platform/cpus/core". Thanks.
4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab is first bad commit commit 4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Date: Fri Oct 10 22:39:19 2008 +0200 ide: make drive->id an union (take 2) Make drive->id an unnamed union so id can be accessed either by using 'u16 *id' or 'struct hd_driveid *driveid'. Then convert all existing drive->id users accordingly (using 'u16 *id' when possible). This is an intermediate step to make ide 'struct hd_driveid'-free. While at it: - Add missing KERN_CONTs in it821x.c. - Use ATA_ID_WORDS and ATA_ID_*_LEN defines. - Remove unnecessary checks for drive->id. - s/drive_table/table/ in ide_in_drive_list(). - Cleanup ide_config_drive_speed() a bit. - s/drive1/dev1/ & s/drive0/dev0/ in ide_undecoded_slave(). v2: Fix typo in drivers/ide/ppc/pmac.c. (From Stephen Rothwell) There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> :040000 040000 c85b310b86eaf4429d3a69bea5994077619d2f46 addd40938d0b14a6322d331df42f4a2bd67542c4 M drivers :040000 040000 c486588c5626e6b2571cd0012ded18f54e081529 972d36f58ebccf2045d551eef36920323dfca782 M include
First-Bad-Commit : 4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab
Created attachment 19484 [details] [PATCH][DRAFT] ide: fix IDE ACPI regression breaking suspend David, please check if this patch helps. Thanks!
Thanks, its work :) Happy Cristmas
The fix went in the first IDE updates pull for 2.6.29: commit 0e63a588fc3d6a5e6bb66bacaeb11cd9093141f8 Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Date: Mon Dec 29 20:27:29 2008 +0100 ide: fix IDE ACPI regression breaking suspend ... The bug can be closed now.