Framework 16 Fails to Resume From Hibernate

The patch referenced in [PATCH] Bluetooth: btmtk: Remove resetting mt7921 before downloading the fw - Hao Qin does work for me, insofar as I am able to successfully resume from hibernation on kernels with it applied. I tested the patch on both 6.11.4 and 6.12-rc3 and observed the same result.

That’s not to say everything works: I’m having trouble discovering new devices, but haven’t fully investigated it. Maybe it also fails without the patch? Who knows, will investigate further. this seems like a known regression, likely fixed in 6.12-rc4?

Things I’ve observed so far:

Trying discoverable on or scan on in bluetoothctl always fails with Failed to start discovery: org.bluez.Error.InProgress and I’ll see bluetoothd[1145]: Failed to set mode: Busy (0x0a) in the system journal.

Coming out of hibernation, I see the following in the journal:

kernel: mt7921e 0000:05:00.0: Message 00020007 (seq 12) timeout
kernel: mt7921e 0000:05:00.0: PM: dpm_run_callback(): pci_pm_restore returns -110
kernel: mt7921e 0000:05:00.0: PM: failed to restore async: error -110
kernel: PM: hibernation: Basic memory bitmaps freed
kernel: OOM killer enabled.
kernel: Restarting tasks ... done.
kernel: PM: hibernation: hibernation exit
kernel: rfkill: input handler enabled
kernel: rfkill: input handler disabled
bluetoothd[1145]: Controller resume with wake event 0x0
[...]
kernel: Bluetooth: hci0: Device setup in 2378080 usecs
kernel: Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
bluetoothd[1145]: Battery Provider Manager created
kernel: Bluetooth: MGMT ver 1.23
bluetoothd[1145]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution

Elsewhere, the hardware identifies itself as:

kernel: mt7921e 0000:05:00.0: ASIC revision: 79220010
kernel: Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20240716163633
kernel: mt7921e 0000:05:00.0: HW/SW Version: 0x8a108a10, Build Time: 20240716163242a
kernel: mt7921e 0000:05:00.0: WM Firmware Version: ____000000, Build Time: 20240716163327