[BUG] thinkpad_acpi: intermittent boot hang in hotkey_poll_setup on ThinkPad X1 Carbon Gen 14

From: Qiling Zhu

Date: Sat Oct 03 2026 - 06:20:15 EST


Hi,

I am seeing an intermittent boot hang in thinkpad_acpi hotkey polling
on a Lenovo ThinkPad X1 Carbon Gen 14 (machine type 21V8A028CD).

I originally encountered this while testing linux-next kernels for an
unrelated camera issue.

The problem has occurred with at least:

next-20260928
next-20261002

When it happens, boot stalls and many udev/modprobe tasks end up blocked
in async_synchronize_cookie_domain(). One of the blocked tasks had the
following relevant stack:

hotkey_poll_setup [thinkpad_acpi]
hotkey_inputdev_open [thinkpad_acpi]
input_open_device
kbd_connect
...
tpacpi_pdriver_probe [thinkpad_acpi]
...
thinkpad_acpi_module_init [thinkpad_acpi]

The failure is intermittent. The same kernel can sometimes boot
successfully, while another boot hangs.

I tested two workarounds:

1. Blacklisting thinkpad_acpi allows the machine to boot normally.

2. More importantly, keeping thinkpad_acpi enabled but building the
same kernel with only

# CONFIG_THINKPAD_ACPI_HOTKEY_POLL is not set

also makes boot reliable in my testing.

For example, with next-20261002 I built two otherwise equivalent
kernels:

CONFIG_THINKPAD_ACPI=m
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y

and

CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_HOTKEY_POLL is not set

The first configuration can intermittently hang during boot. With only
HOTKEY_POLL disabled, the machine boots normally into KDE/Wayland and
thinkpad_acpi is loaded:

thinkpad_acpi 196608 0

The usual ThinkPad hotkeys I have tried also still appear to work
normally with HOTKEY_POLL disabled.

A normal Arch Linux 7.2.8-arch1-2 kernel boots reliably on the same
machine.

This therefore appears to be specifically related to the
thinkpad_acpi hotkey polling path rather than thinkpad_acpi as a whole.

The issue is intermittent, so I have not yet bisected it to a specific
commit. I still have persistent journal logs from both successful and
failed boots, and can provide complete task stacks or test additional
debug patches if useful.

Hardware:

Lenovo ThinkPad X1 Carbon Gen 14
Machine type: 21V8A028CD
Intel Core Ultra 7 356H / Panther Lake

Thanks,
Qiling Zhu