All of lore.kernel.org
 help / color / mirror / Atom feed
* [REGRESSION 6.18.y] ACPI: button: lid events lost since 6.18.57, please backport a004b8f0d3bc
@ 2026-11-08 13:36 Florian Wagner
  2026-11-09  0:34 ` Sasha Levin
  0 siblings, 1 reply; 3+ messages in thread
From: Florian Wagner @ 2026-11-08 13:36 UTC (permalink / raw)
  To: stable; +Cc: regressions, linux-acpi, rafael, sashal

Hey there,

Claude did most of the work on this one, but it looks valid from the
point of view of my (very little) kernel dev experience.

Please backport the following upstream commit to 6.18.y:

  a004b8f0d3bc ("ACPI: button: Enable wakeup GPEs for ACPI buttons at
  probe time")

It fixes a regression that 6.18.y picked up in 6.18.57 and that is
still present in 6.18.62.

Background: 6.18.57 received 52d864019636 ("ACPI: button: Convert the
driver to a platform one") as a dependency of fe80251152fe ("ACPI:
button: Fix ACPI GPE handler leak during removal"), together with
57c31e6d620f ("ACPI: scan: Use acpi_setup_gpe_for_wake() for
buttons"), which fixes the former. Since 57c31e6d620f, button wakeup
GPEs that have handler methods are no longer enabled at runtime.
Upstream fixed this in v7.1 with a004b8f0d3bc, but that commit is
tagged "Cc: stable # 7.0+", so it was never picked up for 6.18.y,
even though 6.18.y now carries the commit it fixes.

Symptoms on my laptop (FUJITSU LIFEBOOK U9311, BIOS 2.54) with the Void
Linux kernel packages:

- 6.18.52: lid works, acpid receives "button/lid LID close/open".
- 6.18.62: the "Lid Switch" input device (PNP0C0D:00) emits no SW_LID
  events at all (evtest shows nothing), so closing the lid does not
  suspend the machine. /proc/acpi/button/lid/LID/state still toggles
  correctly, and closing the lid wakes the machine from a manually
  triggered suspend, which suggests the GPE is only armed for wakeup.
- On 6.18.62, GPE 0x24 shows "disabled" in
  /sys/firmware/acpi/interrupts/ while it is "enabled" on 6.18.52.
  Writing "enable" to it restores lid events.

Backport note: a004b8f0d3bc applies to 6.18.60 and 6.18.62 with
offsets, but does not build as is, because struct acpi_button has no
"dev" member in 6.18.y. Using &button->pdev->dev in the two dev_dbg()
calls is sufficient. With that change, drivers/acpi/button.o and
drivers/acpi/acpica/evxfgpe.o build cleanly with W=1 on 6.18.62. The
adjusted patch is attached for reference.

I sadly haven't had the time to build a patched kernel to actually test
this.

Thanks,
Florian Wagner

#regzbot introduced: v6.18.52..v6.18.60

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-11-14 15:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-08 13:36 [REGRESSION 6.18.y] ACPI: button: lid events lost since 6.18.57, please backport a004b8f0d3bc Florian Wagner
2026-11-09  0:34 ` Sasha Levin
2026-11-14 15:49   ` Florian Wagner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.