Re: Pressing the power button causes the device to freeze completely

From: Rafael J. Wysocki

Date: Tue Apr 21 2026 - 16:45:44 EST


On Tuesday, April 21, 2026 5:11:36 PM CEST Wysocki, Rafael J wrote:
> Hi,
>
> On 4/13/2026 6:46 PM, Evgeny Sagatov wrote:
> > Hello,
> > I have a PC with a motherboard GA-EP45T-UD3LR (Rev. 1.0)
> > <https://www.gigabyte.com/Motherboard/GA-EP45T-UD3LR-rev-10> and
> > processor Intel Core 2 Quad Q9550.
> > Previously, I had Debian 12 with kernel 6.1 installed, and pressing
> > the power button would shut down the PC as usual.
> > I updated to Debian 13 with kernel 6.12.74, and now pressing the power
> > button causes the PC to freeze completely.
> > I see that systemd doesn't even begin to shut down. It freezes
> > immediately after pressing the button. There's no error message in
> > console. There's no error message in the logs either. Netconsole
> > doesn't report any errors, and the kernel doesn't panic. It just
> > freezes completely.
>
> It looks like the ACPI button notify handler crashes on your system for
> some obscure reason.
>
> It should be possible to get to the bottom of it, but it will require
> some investigation if you have the motivation and time to run debug patches.
>
>
> > I checked that Live CD with Debian 12 continue to shut down normally,
> > but Live CD with Debian 13 freeze.
> > I tried updating and resetting the BIOS. I tried various kernel
> > parameters related to ACPI settings. I also tried kernels 6.18 and
> > 6.19. Nothing fixed the problem.
> > If I unload the "button" module, the system doesn't freeze, but it
> > also doesn't shut down.
>
> This is a useful data point, thanks!
>
>
> > I built "button" module by rolling back its version to commit 1a20d40
> > <https://github.com/torvalds/linux/commit/1a20d409c874255086e2f42a729826d490294c91>,
> > which corresponds to kernel version 6.1. This module does not freeze,
> > but does not turn off the PC either.
> > I've found that the freezes have been occurring since commit 0d51157
> > <https://github.com/torvalds/linux/commit/0d51157dfaac05ea66616d8a250dce04bef49a4f>.
>
> The main difference made by it is the fixed events handling and if there
> is a problem with that, a few debug patches should suffice to find out
> what's going on. I'll send you one to try shortly.

First off, on top of 7.0.0 (since the issue is present in this one, I think
it's better to focus the debugging on it), let's first check what happens if
the ACPI fixed event handler is not installed for the power button at all.

This should be similar to using a 6.1 version of the button driver (that is,
no crash, but pressing the power button will have no effect).

Please test the patch below and let me know what happens.

---
drivers/acpi/button.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -628,9 +628,7 @@ static int acpi_button_probe(struct plat

switch (device->device_type) {
case ACPI_BUS_TYPE_POWER_BUTTON:
- status = acpi_install_fixed_event_handler(ACPI_EVENT_POWER_BUTTON,
- acpi_button_event,
- button);
+ status = AE_OK;
break;
case ACPI_BUS_TYPE_SLEEP_BUTTON:
status = acpi_install_fixed_event_handler(ACPI_EVENT_SLEEP_BUTTON,