mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Qiling Zhu <kmatzkaczor244@gmail.com>
To: "Henrique de Moraes Holschuh" <hmh@hmh.eng.br>,
	"Hans de Goede" <hansg@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Mark Pearson <mpearson-lenovo@squebb.ca>,
	 "Derek J. Clark" <derekjohn.clark@gmail.com>,
	platform-driver-x86@vger.kernel.org,
	 ibm-acpi-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: [BUG] thinkpad_acpi: intermittent boot hang in hotkey_poll_setup on ThinkPad X1 Carbon Gen 14
Date: Sat, 3 Oct 2026 18:19:50 +0800	[thread overview]
Message-ID: <asDVVtAXt8YVbZ3C@ThinkPad> (raw)

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

                 reply	other threads:[~2026-10-03 10:20 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=asDVVtAXt8YVbZ3C@ThinkPad \
    --to=kmatzkaczor244@gmail.com \
    --cc=derekjohn.clark@gmail.com \
    --cc=hansg@kernel.org \
    --cc=hmh@hmh.eng.br \
    --cc=ibm-acpi-devel@lists.sourceforge.net \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpearson-lenovo@squebb.ca \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®