diff options
| author | Sean Wang <sean.wang@mediatek.com> | 2026-02-19 03:40:03 +0300 |
|---|---|---|
| committer | Felix Fietkau <nbd@nbd.name> | 2026-03-24 18:49:29 +0300 |
| commit | 9eef868b86db32d40e4a45f407af8aa1e4e4e830 (patch) | |
| tree | cd82fe92f79190badc1288264398672f3b7e092d | |
| parent | 14a7ba034fcd9d1766503ef44cc491c6fda8db2c (diff) | |
| download | linux-9eef868b86db32d40e4a45f407af8aa1e4e4e830.tar.xz | |
wifi: mt76: mt792x: ensure MCU ready before ROM patch download
Restart the MCU and poll FW state to ensure correct MCU status
before downloading the ROM patch.
This is a prerequisite for enabling MT7902 PCIe and has been
validated on MT7921 and MT7925 since they share the common code path.
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Link: https://patch.msgid.link/20260219004007.19733-7-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
| -rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt792x_core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt792x_core.c b/drivers/net/wireless/mediatek/mt76/mt792x_core.c index 2142fcc4ae27..152cfcca2f90 100644 --- a/drivers/net/wireless/mediatek/mt76/mt792x_core.c +++ b/drivers/net/wireless/mediatek/mt76/mt792x_core.c @@ -926,6 +926,13 @@ int mt792x_load_firmware(struct mt792x_dev *dev) { int ret; + mt76_connac_mcu_restart(&dev->mt76); + + if (!mt76_poll_msec(dev, MT_CONN_ON_MISC, MT_TOP_MISC_FW_STATE, + MT_TOP_MISC2_FW_PWR_ON, 1000)) + dev_warn(dev->mt76.dev, + "MCU is not ready for firmware download\n"); + ret = mt76_connac2_load_patch(&dev->mt76, mt792x_patch_name(dev)); if (ret) return ret; |
