Skip to contentSkip to conversation

New: btintel_pcie: suspend fails with -EBUSY on Intel Lunar Lake (s2idle)

Bug 221481 [email protected] 1 participant 3 messages May 7 – Aug 19 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=221481

            Bug ID: 221481
           Summary: btintel_pcie: suspend fails with -EBUSY on Intel Lunar
                    Lake (s2idle)
           Product: Drivers
           Version: 2.5
          Hardware: Intel
                OS: Linux
            Status: NEW
          Severity: blocking
          Priority: P3
         Component: Bluetooth
          Assignee: [email protected]
          Reporter: [email protected]
        Regression: No

Summary:
btintel_pcie returns -16 (EBUSY) during suspend, causing the entire suspend operation to abort on Intel Lunar Lake hardware. The system immediately resumes after every suspend attempt.

Hardware:
- CPU/Platform: Intel Lunar Lake
- Bluetooth device: btintel_pcie at PCI 0000:00:14.7
- iGPU: Intel Arc 140V (xe driver)

Software
- Kernel: 6.19.13-arch1-1
- Distribution: EndeavourOS (Arch-based)
- Desktop: KDE Plasma (Wayland)
- Sleep state: s2idle only (mem_sleep shows [s2idle], no S3/deep)

Reproduction
1. Boot system with btintel_pcie loaded
2. Run: systemctl suspend
3. System immediately wakes up; suspend never enters sleep state

Kernel log (relevant excerpt)
kernel: PM: suspend entry (s2idle)
kernel: btintel_pcie 0000:00:14.7: PM: pci_pm_suspend(): btintel_pcie_suspend
[btintel_pcie] returns -16
kernel: btintel_pcie 0000:00:14.7: PM: dpm_run_callback(): pci_pm_suspend
returns -16
kernel: btintel_pcie 0000:00:14.7: PM: failed to suspend async: error -16
kernel: PM: Some devices failed to suspend, or early wake event detected
kernel: PM: suspend exit
systemd-sleep: Failed to put system to sleep. System resumed again: Device or
resource busy

Workaround
Manually unloading the module before suspend allows sleep to succeed:
modprobe -r btintel_pcie && systemctl suspend

Expected behavior
btintel_pcie should successfully suspend alongside the rest of the system during
s2idle, or yield gracefully so the suspend proceeds without it.

Notes
/sys/power/mem_sleep reports [s2idle] only (no deep/S3), consistent with Lunar Lake's lack of S3 support. The issue is reproducible 100% of the time with the module loaded.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.
#2 lore raw

[Bug 221481] btintel_pcie: suspend fails with -EBUSY on Intel Lunar Lake (s2idle)

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=221481

[email protected] changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #2 from [email protected] ---
Laptop: Lenovo ThinkPad E14 Gen 7
CPU: Intel Core Ultra 7 258V
Kernel: 7.1.8-200.fc44.x86_64
Distro: Fedora 44 Gnome Wayland
Bluetooth device: 00:14.7 Bluetooth [0d11]: Intel Corporation Device [8086:a876] (rev 10)

Additional detail regarding firmware:

In dmesg, the driver fails to load the firmware:
Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-0190-01a1-iml.sfi (-2)

Checking /lib/firmware/intel/ shows that ibt-0190-0041 and ibt-0190-0291 are present in linux-firmware, but revision 01a1 (ibt-0190-01a1-iml.sfi) is missing.

This missing firmware leaves the Bluetooth controller in an uninitialized state, which directly leads to the D2 suspend timeout (error -16)

[s2idle] failed.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.