** Tags added: kernel-daily-bug
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-6.14 in Ubuntu.
https://bugs.launchpad.net/bugs/2129612
Title:
Kernel Oops in btusb driver on Lenovo ThinkPad E14 Gen 7
(6.14.0-1014-oem) - related to enable_autosuspend
Status in linux-oem-6.14 package in Ubuntu:
New
Bug description:
Hello,
I am experiencing a kernel-level bug with the btusb driver on my
Lenovo ThinkPad E14 Gen 7 running the linux-image-6.14.0-1014-oem
kernel on Ubuntu 24.04.
Symptoms:
1. Bluetooth Cannot Be Turned Off: Attempting to toggle Bluetooth off
from the system settings fails. The icon disappears for a moment, but
the hci0 device immediately resets and powers back on.
2. Cannot Connect Devices: All Bluetooth connection attempts to audio
devices (e.g., Sony WH-CH520) fail instantly.
Initial Log Evidence:
My dmesg log showed the following error when trying to toggle Bluetooth off,
indicating a driver timeout and a forced USB reset:
[14133.682922] Bluetooth: hci0: command 0x0c1a tx timeout
[14133.682948] Bluetooth: hci0: Initiating acpi reset method
[14133.683042] Bluetooth: hci0: Opcode 0x0c1a failed: -110
[14133.683066] Bluetooth: hci0: Error when powering off device on rfkill
(-110)
[14133.786281] usb 3-10: USB disconnect, device number 6
[14144.332753] usb 3-10: new full-speed USB device number 7 using xhci_hcd
[14144.463755] Bluetooth: hci0: Device revision is 0
[14144.470583] Bluetooth: hci0: Found device firmware: intel/ibt-0040-0041.sfi
The bluetoothd log showed Connection refused (111) and Too many levels
of symbolic links (40), likely due to the unstable driver corrupting
the service's state.
Kernel Oops (Crash Confirmation):
The problem is confirmed to be in the btusb driver's power management. The
enable_autosuspend parameter was set to Y by default.
Attempting to reload the driver with sudo modprobe -r btusb && sudo modprobe
btusb caused a full kernel Oops (NULL pointer dereference) in btusb_suspend,
proving the suspend/power-down code path is buggy.
Full Kernel Oops Log:
[21010.728685] refcount_t: addition on 0; use-after-free.
[21010.728705] WARNING: CPU: 10 PID: 10438 at lib/refcount.c:25
refcount_warn_saturate+0x12e/0x150
[21010.728971] CPU: 10 UID: 0 PID: 10438 Comm: kworker/10:1 Not tainted
6.14.0-1014-oem #14-Ubuntu
[21010.728980] Workqueue: pm pm_runtime_work
[21010.728992] RIP: 0010:refcount_warn_saturate+0x12e/0x150
[21010.729031] Call Trace:
[21010.729034] <TASK>
[21010.729040] usb_get_urb.part.0+0x4d/0x60
[21010.729050] usb_kill_anchored_urbs+0x3a/0x110
[21010.729060] btusb_suspend+0xad/0x200 [btusb]
[21010.729068] usb_suspend_both+0xa6/0x320
[21010.729089] usb_runtime_suspend+0x2f/0x80
[21010.729095] __rpm_callback+0x4d/0x170
[21010.729116] rpm_callback+0x64/0x70
[21010.729126] rpm_suspend+0xe4/0x5f0
[21010.729141] pm_runtime_work+0xc6/0xe0
[21010.729148] process_one_work+0x178/0x3d0
[21010.729156] worker_thread+0x2de/0x410
[21010.729168] kthread+0xfb/0x230
[21010.729177] ret_from_fork+0x44/0x70
[21010.729186] ret_from_fork_asm+0x1a/0x30
[21010.729195] </TASK>
[21010.729198] ---[ end trace 0000000000000000 ]---
[21010.729238] ------------[ cut here ]------------
[21010.729242] kobject: '(null)' (00000000e2d98778): is not initialized, yet
kobject_get() is being called.
[21010.729271] WARNING: CPU: 10 PID: 10438 at lib/kobject.c:640
kobject_get+0x51/0x80
[21010.729638] RIP: 0010:kobject_get+0x51/0x80
[21010.729682] Call Trace:
[21010.729684] <TASK>
[21010.729686] get_device+0x13/0x30
[21010.729692] usb_get_dev+0x1e/0x30
[21010.729698] usb_hcd_unlink_urb+0x68/0xf0
[21010.729704] usb_kill_urb.part.0+0x2e/0xd0
[21010.729720] usb_kill_anchored_urbs+0x5d/0x110
[21010.729728] btusb_suspend+0xad/0x200 [btusb]
[21010.729737] usb_suspend_both+0xa6/0x320
...
[21010.729857] </TASK>
[21010.729859] ---[ end trace 0000000000000000 ]---
[21010.729867] BUG: kernel NULL pointer dereference, address: 0000000000000000
[21010.729875] #PF: supervisor read access in kernel mode
[21010.729880] #PF: error_code(0x0000) - not-present page
[21010.729890] Oops: 0000 [#1] PREEMPT SMP NOPTI
[21010.729915] RIP: 0010:unlink1+0x86/0x160
[21010.729964] <TASK>
[21010.729967] usb_hcd_unlink_urb+0x8a/0xf0
[21010.729974] usb_kill_urb.part.0+0x2e/0xd0
[21010.729988] usb_kill_anchored_urbs+0x5d/0x110
[21010.729997] btusb_suspend+0xad/0x200 [btusb]
[21010.730005] usb_suspend_both+0xa6/0x320
[21010.730026] usb_runtime_suspend+0x2f/0x80
[21010.730032] __rpm_callback+0x4d/0x170
[21010.730055] rpm_callback+0x64/0x70
[21010.730068] rpm_suspend+0xe4/0x5f0
[21010.730083] pm_runtime_work+0xc6/0xe0
[21010.730090] process_one_work+0x178/0x3d0
[21010.730098] worker_thread+0x2de/0x410
[21010.730119] kthread+0xfb/0x230
[21010.730128] ret_from_fork+0x44/0x70
[21010.730135] ret_from_fork_asm+0x1a/0x30
[21010.730145] </TASK>
[21012.150905] note: kworker/10:1[10438] exited with preempt_count 1
Successful Workaround:
I was able to completely fix all symptoms by disabling btusb
autosuspend.
1. Created the file /etc/modprobe.d/btusb-autosuspend.conf
2. Added the line: options btusb enable_autosuspend=0
3. After rebooting, cat /sys/module/btusb/parameters/enable_autosuspend
correctly shows N.
This stabilizes the driver. As a final step, the corrupted bluez cache
had to be cleared to restore connectivity: sudo rm -rf
/var/lib/bluetooth/*
After these two fixes (disabling autosuspend and clearing the cache),
the system is now 100% stable. Bluetooth can be toggled, and devices
connect perfectly.
This appears to be a bug in the btusb driver's suspend/resume logic
for this specific hardware and kernel.
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: linux-image-6.14.0-1014-oem 6.14.0-1014.14
ProcVersionSignature: Ubuntu 6.14.0-1014.14-oem 6.14.11
Uname: Linux 6.14.0-1014-oem x86_64
ApportVersion: 2.28.1-0ubuntu3.8
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: kostiantyn-makarenko 2282 F.... pipewire
kostiantyn-makarenko 2285 F.... wireplumber
/dev/snd/seq: kostiantyn-makarenko 2282 F.... pipewire
CRDA: N/A
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Wed Oct 22 21:04:53 2025
InstallationDate: Installed on 2025-08-08 (75 days ago)
InstallationMedia: Ubuntu 24.04.3 LTS "Noble Numbat" - Release amd64
(20250805.1)
MachineType: LENOVO 21T9CTO1WW
ProcEnviron:
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
XDG_RUNTIME_DIR=<set>
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-6.14.0-1014-oem
root=UUID=bf0e73c2-ecc6-492d-91a0-4fa326ab0ce9 ro quiet splash vt.handoff=7
RelatedPackageVersions:
linux-restricted-modules-6.14.0-1014-oem N/A
linux-backports-modules-6.14.0-1014-oem N/A
linux-firmware 20240318.git3b128b60-0ubuntu2.19
SourcePackage: linux-oem-6.14
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/09/2025
dmi.bios.release: 1.5
dmi.bios.vendor: LENOVO
dmi.bios.version: R2YET16W(1.05)
dmi.board.asset.tag: Not Available
dmi.board.name: 21T9CTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: SDK0T76463 WIN
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.ec.firmware.release: 1.5
dmi.modalias:
dmi:bvnLENOVO:bvrR2YET16W(1.05):bd05/09/2025:br1.5:efr1.5:svnLENOVO:pn21T9CTO1WW:pvrThinkPadE14Gen7:rvnLENOVO:rn21T9CTO1WW:rvrSDK0T76463WIN:cvnLENOVO:ct10:cvrNone:skuLENOVO_MT_21T9_BU_Think_FM_ThinkPadE14Gen7:
dmi.product.family: ThinkPad E14 Gen 7
dmi.product.name: 21T9CTO1WW
dmi.product.sku: LENOVO_MT_21T9_BU_Think_FM_ThinkPad E14 Gen 7
dmi.product.version: ThinkPad E14 Gen 7
dmi.sys.vendor: LENOVO
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-oem-6.14/+bug/2129612/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp