From: bugzilla-daemon@kernel.org
To: linux-bluetooth@vger.kernel.org
Subject: [Bug 221666] New: Regression in 7.1: Kernel Oops in hidinput_setup_battery (hid_microsoft) causing uhid deadlock when pairing Xbox controller
Date: Thu, 18 Jun 2026 17:14:19 +0000 [thread overview]
Message-ID: <bug-221666-62941@https.bugzilla.kernel.org/> (raw)
https://bugzilla.kernel.org/show_bug.cgi?id=221666
Bug ID: 221666
Summary: Regression in 7.1: Kernel Oops in
hidinput_setup_battery (hid_microsoft) causing uhid
deadlock when pairing Xbox controller
Product: Drivers
Version: 2.5
Hardware: All
OS: Linux
Status: NEW
Severity: blocking
Priority: P3
Component: Bluetooth
Assignee: linux-bluetooth@vger.kernel.org
Reporter: intellq@gmail.com
Regression: No
OS: Arch Linux / EndeavourOS
Kernel (Failing): 7.1.0 (TKG and mainline equivalent)
Kernel (Working): 7.0.12 (Arch stable and TKG)
Device: Gulikit KingKong 2 Pro (paired in XInput/Xbox One mode)
Pairing the controller in Xbox One mode via Bluetooth on kernel 7.1 triggers an
immediate Kernel Oops (Page Fault) inside hidinput_setup_battery called by the
hid_microsoft driver.
This initial crash leaves the HID subsystem in a locked state. Consequently,
the bluetoothd daemon enters an Uninterruptible Sleep (D state) deadlock inside
uhid_dev_destroy when attempting to clean up. The Bluetooth service becomes
completely unresponsive, fails to terminate on SIGKILL, and causes the system
to hang indefinitely during shutdown/reboot (watchdog did not stop).
Booting into kernel 7.0.12 completely resolves the issue, and the controller
pairs and reports battery normally. The issue only happens in XInput/Xbox mode
(which uses hid_microsoft). D-Input or Switch mode works fine on 7.1.
Steps to Reproduce:
- Boot kernel 7.1.
- Put the controller in XInput/Xbox mode.
- Attempt to pair via Bluetooth (BlueZ).
- Observe the dmesg Oops and subsequent bluetoothd deadlock.
Kernel Oops Log (The Root Cause):
BUG: unable to handle page fault for address: ffffffffffffffe4
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
Oops: Oops: 0000 [#1] SMP NOPTI
CPU: 19 UID: 0 PID: 912691 Comm: (udev-worker)
RIP: 0010:hidinput_setup_battery+0x88/0x3a0
Call Trace:
<TASK>
hidinput_configure_usage+0x62e/0x3290
hidinput_connect+0x6fd/0xb50
hid_connect+0x147/0x760
hid_hw_start+0x3c/0x60
ms_probe+0x80/0x190 [hid_microsoft]
hid_device_probe+0x1a1/0x250
really_probe+0x1bc/0x4b0
__driver_probe_device+0xa1/0x140
driver_probe_device+0x1e/0x110
__device_attach_driver+0xc1/0x150
bus_for_each_drv+0x12a/0x180
__device_attach+0xd3/0x1c0
device_reprobe+0x5a/0xa0
bus_for_each_dev+0x117/0x160
__hid_bus_driver_added+0x32/0x40
bus_for_each_drv+0x12a/0x180
__hid_register_driver+0x73/0x80
do_one_initcall+0x135/0x330
do_init_module+0x62/0x330
__se_sys_finit_module+0x270/0x3e0
do_syscall_64+0x12c/0x3b0
entry_SYSCALL_64_after_hwframe+0x76/0x7e
</TASK>
Secondary Consequence (bluetoothd deadlock):
Because of the worker crash above, bluetoothd gets stuck in D state
permanently:
[<0>] device_del+0x3a/0x3c0
[<0>] hid_destroy_device+0x27/0x90
[<0>] uhid_dev_destroy+0x48/0x70 [uhid]
[<0>] uhid_char_write+0x28f/0x440 [uhid]
[<0>] vfs_writev+0x2c8/0x410
[<0>] do_writev+0x76/0x110
[<0>] do_syscall_64+0x12c/0x3b0
[<0>] entry_SYSCALL_64_after_hwframe+0x76/0x7e
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are the assignee for the bug.
next reply other threads:[~2026-06-18 17:14 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-18 17:14 bugzilla-daemon [this message]
2026-06-18 17:17 ` [Bug 221666] Regression in 7.1: Kernel Oops in hidinput_setup_battery (hid_microsoft) causing uhid deadlock when pairing Xbox controller bugzilla-daemon
2026-06-18 17:56 ` bugzilla-daemon
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=bug-221666-62941@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=linux-bluetooth@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 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.