Fix non-working MT7921 BT after reboot

Bug #1966497 reported by Kai-Heng Feng
This bug affects 2 people
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
linux-oem-5.14 (Ubuntu)
Fix Released

Bug Description

There's a high chance that MT7921 BT may go out to lunch after reboot.
Worse, there's no way to recover the controller unless the power cord is

In addition to SRU "Need to reset MT7921 BT when the firmware hang or
command no response", enable MSFT extension can magically solve the

With the patch applied, the MT7921 BT continues to work after 100 times

[Where problems could occur]
This fix is specific to MTK BT controllers, so the change is limited.

I totally don't understand why this patch can fix the issue, other than
it just does the trick. So I guess we have to accept the reality that
hardwares can have their own quirks.

Changed in linux-oem-5.14 (Ubuntu Focal):
status: New → Confirmed
importance: Undecided → Medium
Changed in linux-oem-5.14 (Ubuntu):
status: New → Invalid
tags: added: oem-priority originate-from-1961591 sutton
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.14 (Ubuntu Focal):
status: Confirmed → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-5.14/5.14.0-1033.36 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (37.4 KiB)

This bug was fixed in the package linux-oem-5.14 - 5.14.0-1033.36

linux-oem-5.14 (5.14.0-1033.36) focal; urgency=medium

  * focal/linux-oem-5.14: 5.14.0-1033.36 -proposed tracker (LP: #1967397)

  * Bolt doesn't work with native USB4 hosts (LP: #1962349)
    - thunderbolt: Retry DROM reads for more failure scenarios
    - thunderbolt: Do not resume routers if UID is not set
    - thunderbolt: Do not make DROM read success compulsory
    - PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3

  * Fix non-working MT7921 BT after reboot (LP: #1966497)
    - Bluetooth: btusb: Enable MSFT extension for Mediatek Chip (MT7921)

  * alsa/sdw: Fix the audio issue on a Dell machine without internal mic
    (LP: #1966841)
    - ASoC: Intel: soc-acpi: add entries in ADL match table

  * Enable headset mic on Lenovo P360 (LP: #1967069)
    - ALSA: hda/realtek: Enable headset mic on Lenovo P360

  * WCN6856 BT keep in OFF state after coldboot system (LP: #1967067)
    - Bluetooth: btusb: Improve stability for QCA devices

  * Focal update: upstream stable patchset 2022-03-21 (LP: #1965737)
    - mm/filemap: Fix handling of THPs in generic_file_buffered_read()
    - cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug
    - cgroup-v1: Correct privileges check in release_agent writes
    - x86/ptrace: Fix xfpregs_set()'s incorrect xmm clearing
    - btrfs: tree-checker: check item_size for inode_item
    - btrfs: tree-checker: check item_size for dev_item
    - clk: jz4725b: fix mmc0 clock gating
    - io_uring: don't convert to jiffies for waiting on timeouts
    - io_uring: disallow modification of rsrc_data during quiesce
    - selinux: fix misuse of mutex_is_locked()
    - vhost/vsock: don't check owner in vhost_vsock_stop() while releasing
    - parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel
    - parisc/unaligned: Fix ldw() and stw() unalignment handlers
    - KVM: x86/mmu: make apf token non-zero to fix bug
    - drm/amd/display: Protect update_bw_bounding_box FPU code.
    - drm/amd/pm: fix some OEM SKU specific stability issues
    - drm/amdgpu: disable MMHUB PG for Picasso
    - drm/amdgpu: do not enable asic reset for raven2
    - drm/i915: Widen the QGV point mask
    - drm/i915: Correctly populate use_sagv_wm for all pipes
    - drm/i915: Fix bw atomic check when switching between SAGV vs. no SAGV
    - sr9700: sanity check for packet length
    - USB: zaurus: support another broken Zaurus
    - CDC-NCM: avoid overflow in sanity checking
    - netfilter: xt_socket: fix a typo in socket_mt_destroy()
    - netfilter: xt_socket: missing ifdef CONFIG_IP6_NF_IPTABLES dependency
    - tee: export teedev_open() and teedev_close_context()
    - optee: use driver internal tee_context for some rpc
    - ping: remove pr_err from ping_lookup
    - Revert "i40e: Fix reset bw limit when DCB enabled with 1 TC"
    - gpu: host1x: Always return syncpoint value when waiting
    - perf data: Fix double free in perf_session__delete()
    - mptcp: fix race in incoming ADD_ADDR option processing
    - mptcp: add mibs counter for ignored incoming options
    - selftests: mptcp: fix diag instability

Changed in linux-oem-5.14 (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

included in 5.15

Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers