** 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

Reply via email to