Some embedded controllers, such as the Lenovo H8 EC found in ThinkPad
E14 (TP-R1E) laptops, stop reporting SCI events after a suspend/resume
cycle. The EC still accepts reads/writes and asserts its wake GPE, but
new runtime events are neither queued nor signalled: the EC never sets
SCI_EVT again, so the EC GPE never fires and events like lid open/close,
AC plug events, and hotkeys are silently lost for the rest of the boot.
Experimentation on the affected hardware shows that performing a burst
enable/disable handshake after resume re-arms the EC event engine:
afterwards, pending events are delivered and new events are queued and
signalled normally again.
Do that handshake from the resume handler, while still in polled mode
(ec_suspending is still TRUE, and the EC GPE is not yet re-enabled).
The handshake is part of the ACPI EC protocol and is harmless for ECs
that do not need it.
Assisted-by: Opencode (GLM-5.3-Flash)
PR: 286974