Comment 21 for bug 405120

Revision history for this message
Louis-Dominique Dubeau (ldd) wrote : Re: resume from suspend doesn't work (powers off instead) for Acer Timeline 3810t

Ok... latest test. I recompiled the kernel and made modular much of the ACPI functionality. Here's the relevant section of the config file:

CONFIG_ACPI=y
CONFIG_ACPI_AC=m
# CONFIG_ACPI_ASUS is not set
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_CONTAINER=m
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_FAN=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PCI_SLOT=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_WMI=m

Then:

1. I blacklisted modules which are not unloadable if loaded at all (processor is not unloadable if loaded at boot, I had to blacklist thermal too because it depends on processor and will force a load even if processor is blacklisted).

2. And I booted with init=/bin/bash and unloaded as much as I could: in the end all the ACPI modules were unloaded.

So I was left with the acpi functionality which is included in the kernel but all acpi modules removed (no WMI, no fan, no thermal, no processor, etc.).

It still did not fix the problem.

As far as I can tell the machine behaved exactly in the same way as with the stock kernel. I was concerned about thermal in particular: I know that there have been bugs on other machines where the temperature sensors would send out bogus data under certain conditions and would cause Linux to forcibly power down of the machine. Well, there goes that hypothesis...

@Matthew: Thanks for the dump. I'll check into it when I decide that I should spend more time on the DSDT. I'm also DSDT-illiterate so *for now* I'm holding off on doing anything more with it. Whatever I'm able to understand about it is inferred from general computer engineering knowledge and from reading bits of the ACPI specs.

I think my next step will be to boot with ACPI debug turned on (as you can see above I compiled in the necessary functionality for that: now I just need to add the right boot parameters) and look for anything amiss.