Linux 6.19-rc1 mediatek mt7921e broke badly

Shuah Khan skhan at linuxfoundation.org
Sat Dec 27 01:07:24 PST 2025


mt7921e doesn't load on my primary laptopn on Linux 6.19-rc1 and problem
still there on 6.19-rc2.

  From what I can tell from dmesg it attempts to do load firmware
in mt792x_load_firmware() during and then generates warns and
fails to load the module. dmesg excerpt below.

commit 066f417be5fd8c7fe581c5550206364735dad7a3
Author: Quan Zhou <quan.zhou at mediatek.com>
Date:   Tue Nov 18 19:54:54 2025 +0800

      wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC load

The above commit changes when the MCU_RUNNING bit is set in mt7925_run_firmware(),
changing it to set this bit only after mt7921_load_clc() completes.

I didn't get a chance to bisect yet and a quick revert of the patch didn't solve
the problem. This is a serious problem for me since my wifi is dead on my
primary laptop. Hope a fix is coming soon.

I am available for debug/testing help early next week.

thanks,
-- Shuah

dmesg
=====================================================================================

kern  :crit  : kernel BUG at lib/string_helpers.c:1043!
kern  :warn  : Oops: invalid opcode: 0000 [#1] SMP NOPTI
kern  :warn  : CPU: 14 UID: 0 PID: 61 Comm: kworker/14:0 Tainted: G        W
         6.19.0-rc1 #1 PREEMPT(voluntary)
kern  :warn  : Tainted: [W]=WARN
kern  :warn  : Hardware name: Framework Laptop 13 (AMD Ryzen 7040Series)/FRANMDCP07, BIOS 03.16 07/25/2025
kern  :warn  : Workqueue: events mt7921_init_work [mt7921_common]
kern  :warn  : RIP: 0010:__fortify_panic+0xd/0xf
kern  :warn  : Code: 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 40 0f b6 ff e8 c3 55 71 00 <0f> 0b 48 8b 54 24 10 48 8b 74 24 08 4c 89 e9 48 c7 c7 00 a2 d5 a0
kern  :warn  : RSP: 0018:ffffa7a5c03a3d10 EFLAGS: 00010246
kern  :warn  : RAX: ffffffffa0d7aaf2 RBX: 0000000000000000 RCX: ffffffffa0d7aaf2
kern  :warn  : RDX: 0000000000000011 RSI: ffffffffa0d5a170 RDI: ffffffffa128db10
kern  :warn  : RBP: ffff91650ae52060 R08: 0000000000000010 R09: ffffa7a5c31b2000
kern  :warn  : R10: ffffa7a5c03a3bf0 R11: 00000000ffffffff R12: 0000000000000000
kern  :warn  : R13: ffffa7a5c31b2000 R14: 0000000000001000 R15: 0000000000000000
kern  :warn  : FS:  0000000000000000(0000) GS:ffff91743e664000(0000) knlGS:0000000000000000
kern  :warn  : CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kern  :warn  : CR2: 00007f10786c241c CR3: 00000003eca24000 CR4: 0000000000f50ef0
kern  :warn  : PKRU: 55555554
kern  :warn  : Call Trace:
kern  :warn  :  <TASK>
kern  :warn  :  mt76_connac2_load_patch.cold+0x2b/0xa41 [mt76_connac_lib]
kern  :warn  :  ? srso_alias_return_thunk+0x5/0xfbef5
kern  :warn  :  mt792x_load_firmware+0x36/0x150 [mt792x_lib]
kern  :warn  :  mt7921_run_firmware+0x2c/0x4a0 [mt7921_common]
kern  :warn  :  ? srso_alias_return_thunk+0x5/0xfbef5
kern  :warn  :  ? mt7921_rr+0x12/0x30 [mt7921e]
kern  :warn  :  ? srso_alias_return_thunk+0x5/0xfbef5
kern  :warn  :  ? ____mt76_poll_msec+0x75/0xb0 [mt76]
kern  :warn  :  mt7921e_mcu_init+0x4c/0x7a [mt7921e]
kern  :warn  :  mt7921_init_work+0x51/0x190 [mt7921_common]
kern  :warn  :  process_one_work+0x18b/0x340
kern  :warn  :  worker_thread+0x256/0x3a0
kern  :warn  :  ? __pfx_worker_thread+0x10/0x10
kern  :warn  :  kthread+0xfc/0x240
kern  :warn  :  ? __pfx_kthread+0x10/0x10
kern  :warn  :  ? __pfx_kthread+0x10/0x10
kern  :warn  :  ret_from_fork+0x254/0x290
kern  :warn  :  ? __pfx_kthread+0x10/0x10
kern  :warn  :  ret_from_fork_asm+0x1a/0x30
kern  :warn  :  </TASK>
kern  :warn  : Modules linked in: snd_hda_codec_alc269(+) snd_sof_amd_rembrandt mt7921e snd_hda_scodec_component snd_sof_amd_acp snd_hda_codec_realtek_lib mt7921_common snd_sof_pci snd_sof_xtensa_dsp snd_hda_codec_generic btusb amd_atl mt792x_lib uvcvideo snd_hda_codec_atihdmi intel_rapl_msr mt76_connac_lib snd_sof btrtl intel_rapl_common snd_hda_codec_hdmi btintel videobuf2_vmalloc mt76 videobuf2_memops btbcm uvc snd_sof_utils videobuf2_v4l2 kvm_amd btmtk hid_sensor_als snd_hda_intel mac80211 hid_sensor_trigger snd_soc_core videodev bluetooth snd_hda_codec industrialio_triggered_buffer hid_sensor_iio_common snd_compress videobuf2_common kvm snd_hwdep libarc4 kfifo_buf snd_pci_ps industrialio snd_soc_acpi_amd_match mc snd_hda_core snd_rpl_pci_acp6x irqbypass cfg80211 snd_intel_dspcfg snd_pci_acp6x amd_pmf rapl snd_pci_acp5x snd_pcm amdtee leds_cros_ec snd_rn_pci_acp3x hid_sensor_hub wmi_bmof snd_timer led_class_multicolor snd_acp_config snd_soc_acpi cros_ec_hwmon snd spd5118 ccp snd_pci_acp3x pcspkr platform_profile
kern  :warn  :  soundcore rfkill k10temp ac button amd_sfh tee amd_pmc joydev evdev msr parport_pc ppdev lp parport configfs efi_pstore nfnetlink efivarfs autofs4 ext4 mbcache jbd2 dm_crypt dm_mod usbhid amdgpu amdxcp i2c_algo_bit drm_client_lib drm_ttm_helper ttm ucsi_acpi typec_ucsi drm_exec drm_panel_backlight_quirks roles gpu_sched hid_multitouch typec drm_suballoc_helper drm_buddy hid_generic xhci_pci drm_display_helper cros_ec_debugfs cros_ec_sysfs cros_charge_control cros_ec_chardev cros_kbd_led_backlight i2c_hid_acpi xhci_hcd i2c_hid hid drm_kms_helper sp5100_tco watchdog cros_ec_dev thunderbolt drm usbcore nvme ghash_clmulni_intel cec aesni_intel nvme_core rc_core serio_raw i2c_piix4 i2c_smbus crc16 video usb_common battery wmi cros_ec_lpcs cros_ec cros_ec_proto


More information about the Linux-mediatek mailing list