# Resume from suspension not working with >3.2.12 kernels

## motosauro

Hi all

Suspension is not working anymore on my laptop, it has always worked just fine and still does if I use a 3.2.12 kernel (last working one) 

Basically the issue is that system suspends just fine with both kernels (everything stops and status led becomes glowing and orange), but when I try to resume the >3.2 kernels the machine boots as if it had been shut down completely before

I'm not filing a bug because  I saw two pm related options appearing in the new kernels, but from their description they don't seem to be the cause for this problem

I also tried debugging with PM_TRACE_RTC but without results (dmesg shows nothing)

My .config is like this (only pm relevant part shown)

When I upgrade a kernel I zcat /proc/config.gz > /usr/src/newkernel/.config, then I do a #yes "" | make oldconfig so all other set values are the same

```
# Linux/x86_64 3.5.7-gentoo Kernel Configuration

#

cut ...

# Power management and ACPI options

#

CONFIG_SUSPEND=y

CONFIG_SUSPEND_FREEZER=y

# CONFIG_HIBERNATION is not set

CONFIG_PM_SLEEP=y

CONFIG_PM_SLEEP_SMP=y

# CONFIG_PM_AUTOSLEEP is not set <===== New option not present in 3.2.12

# CONFIG_PM_WAKELOCKS is not set <===== New option not present in 3.2.12

# CONFIG_PM_RUNTIME is not set <===== New option not present in 3.2.12

CONFIG_PM=y

CONFIG_PM_DEBUG=y

# CONFIG_PM_ADVANCED_DEBUG is not set

# CONFIG_PM_TEST_SUSPEND is not set

CONFIG_CAN_PM_TRACE=y

CONFIG_PM_TRACE=y

CONFIG_PM_TRACE_RTC=y

CONFIG_ACPI=y

CONFIG_ACPI_SLEEP=y

CONFIG_ACPI_PROCFS=y

# CONFIG_ACPI_PROCFS_POWER is not set

# CONFIG_ACPI_EC_DEBUGFS is not set

CONFIG_ACPI_PROC_EVENT=y

CONFIG_ACPI_AC=y

CONFIG_ACPI_BATTERY=y

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_VIDEO=y

CONFIG_ACPI_FAN=y

CONFIG_ACPI_DOCK=y

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_HOTPLUG_CPU=y

# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set

CONFIG_ACPI_THERMAL=y

CONFIG_ACPI_NUMA=y

# CONFIG_ACPI_CUSTOM_DSDT is not set

CONFIG_ACPI_BLACKLIST_YEAR=0

# CONFIG_ACPI_DEBUG is not set

# CONFIG_ACPI_PCI_SLOT is not set

CONFIG_X86_PM_TIMER=y

CONFIG_ACPI_CONTAINER=y

CONFIG_ACPI_SBS=m

# CONFIG_ACPI_HED is not set

CONFIG_ACPI_CUSTOM_METHOD=m

# CONFIG_ACPI_BGRT is not set

# CONFIG_ACPI_APEI is not set

# CONFIG_SFI is not set
```

----------

## Hu

These problems are often easier to identify if you report them promptly after they appear, rather than waiting through several major kernel versions.

Do I understand correctly that you have tried both enabling and disabling each of the new options, and the effect is the same regardless?

----------

## motosauro

I normally upgrade the kernel as soon as it's stable, but this time I've been very busy and since this is my work laptop I tend to be more conservative on upgrades

I took the time to recompile the 3.5.7 kernel with 

CONFIG_PM_WAKELOCKS=y 

and it seems to have fixed it

My bad for not trying this before, but actually it wouldn't have hurt having some documentation to consult 

Maybe there was some and I simply didn't find it

I'm growing too old to randomly try all the new options, expecially on my work equipment 

I think I'll have to update the Gentoo-Wiki page.

Could you (or anybody) point me to some relevant changelog to understand if this is really the solution for me and if this could affect also other people?

Thx

----------

## Hu

Wakelocks are most likely not the correct solution.  That is an Android-related feature to prevent untimely suspension.

----------

## motosauro

 *Hu wrote:*   

> Wakelocks are most likely not the correct solution.  That is an Android-related feature to prevent untimely suspension.

 

Then I need to test some more. I'm positive that today I boot ed 3.5.7 kernel with reported configuration and it didn't resume.

Then I turned on just that option, compiled, booted and now it seems to be working.

Tomorrow I'm going to try reproducing the original bug to trace it down

----------

