Bug 2347
Summary: | S3 resume: reboot instead of resume | ||
---|---|---|---|
Product: | ACPI | Reporter: | Soos Gergely (sogerc1) |
Component: | Power-Sleep-Wake | Assignee: | Shaohua (shaohua.li) |
Status: | REJECTED DUPLICATE | ||
Severity: | normal | CC: | acpi-bugzilla, kevbugzilla, malakhanov, myk, n_shtinkov, wiselynx.naima |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.4 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Soos Gergely
2004-03-21 17:30:52 UTC
Typing echo -n mem > /sys/power/state has the same effect as echo 3 >/proc/acpi/sleep, the computer restarts, and does not enter the state any chance you can capture what the kernel printed when entering S3? If you have a serial console, that would work, otherwise we'd probably have to add an infinite loop down in the code to prevent the system from actually removing power so you can see the screen... Sorry, I don't have a serial console, but I will insert the infinite loop myself into the kernel source. My guess is to insert into file acpi/hardware/hwsleep.c into the function acpi_enter_sleep_state() but I can't be sure, so please help me. I am running the official 2.6.4 kernel. At the end I tried my idea about inserting the loop into linux-2.6.4/drivers/acpi/hardware/hwsleep.c This is a part of the file (FUNCTION: acpi_enter_sleep_state) with two marks of mine: ... /* Write #2: SLP_TYP + SLP_EN */ ACPI_FLUSH_CPU_CACHE (); /* MARK 1*/ status = acpi_hw_register_write (ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1A_CONTROL, PM1Acontrol); if (ACPI_FAILURE (status)) { return_ACPI_STATUS (status); } /* MARK 2 */ status = acpi_hw_register_write (ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1B_CONTROL, PM1Bcontrol); if (ACPI_FAILURE (status)) { return_ACPI_STATUS (status); } ... If I insert the loop after Mark 1, the screen will contains: Stopping tasks: ===========| hdd: start_power_step (step:0) hdd: start_power_step (step:1) hdd: complete_power_step(step:1, stat:50, err:0) hdd: completing PM request, suspend hdc: start_power_step (step:0) hdc: completing PM request, suspend hda: start_power_step (step:0) hda: start_power_step (step:1) hda: complete_power_step(step:1, stat:50, err:0) hda: completing PM request, suspend PM: Entering state. hwsleep-0300 [13] acpi_enter_sleep_state: Entering sleep state [S3] This wasn't a cut and paste, I copied it by hand. At this point the keyboard, mouse and even the power led is turned off, but the fans are still working. If I insert the while(1); after Mark 2 the system is already powered down, and the loop is not executed. I tried echo -n mem /sys/power/state with kernel 2.6.5 but the result is the same (without the ide debug info of course). My computer too reboots when I try to resume from S3. The system goes in standby, but when trying to resume (powerbutton), it reboots. Log files don't show anything usefull. System : Athlon XP1700 on Asrock K7SX8 mainboard (Sis746FX chipset) OS : Slackware 9.1 + kernel 2.6.7-rc2 still an issue after 2.6.10-rc2? (it includes the patch in bug 3390) if so, does this patch from Hiroshi Itoh help?: http://marc.theaimsgroup.com/?l=linux-kernel&m=110062740314222&w=2 Yes, still an issue on 2.6.10-rc2. No, the patch does not help. My machine: Averatec 3225H laptop, Mandrake 10.0. same with 2.6.10 final? Sorry for the delay. The problem persists in 2.6.10 final, 2.6.11-rc1 and 2.6.11-rc2. Can you track down if your machine actually enters the resume code? you coulde add 'jmp .' just under '.code16' of arch/i386/kernel/acpi/wakeup.S::wakeup_code, and see if your system is frozen. Thanks. The machine reboots as before - it doesn't reach the wakeup code at all. Could anybody try the debug patch at Bug 3691? Thanks! *** Bug 2319 has been marked as a duplicate of this bug. *** |