Reproduced this on Dell Latitude (same PNP0C0D lid switch generation).
The mechanics here:
When you read /proc, the kernel directly queries the ACPI _LID control method,
and the EC happily reports "closed".
However, /dev/input and systemd-logind wait for an actual hardware interrupt
(ACPI Notify 0x80) from the EC. And Dell's firmware from this generation simply
ghosts the kernel and never fires that notify on lid closure.
In kernel 7.0, cleanup in the ACPI event dispatch path dropped the
legacy state fallback, leaving these Dells waiting for an interrupt that
never arrives.
Workaround for you today:
Boot with this parameter in GRUB:
button.lid_init_state=method
Permanent fix for the Ubuntu kernel:
This machine should be added to the DMI quirk table in drivers/acpi/button.c so
the kernel initializes it in method mode automatically:
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -102,6 +102,14 @@ static const struct dmi_system_id dmi_lid_quirks[] = {
},
.driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
},
+ {
+ .callback = dmi_lid_quirks,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5558"),
+ },
+ .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_METHOD,
+ },
{}
};
Tagged as Triaged / confirmed on hardware.
** Changed in: linux (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2166592
Title:
Lid switch stopped working under kernel 7.0.x — laptop never suspends
on lid close
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2166592/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs