[PATCH 1/6] wifi: mt76: mt7925: stop init retries on hung bus
Sean Wang
sean.wang at kernel.org
Sat Jun 13 15:41:26 PDT 2026
From: Sean Wang <sean.wang at mediatek.com>
Stop retrying hardware init once the bus is marked hung.
The control path is no longer usable at that point, so more retries only
issue failing device accesses, including MCU commands or register
operations, and delay teardown. Exit early and let the failed device be
torn down quickly.
Signed-off-by: Sean Wang <sean.wang at mediatek.com>
---
drivers/net/wireless/mediatek/mt76/mt7925/init.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/init.c b/drivers/net/wireless/mediatek/mt76/mt7925/init.c
index e85b0d104fbe..e9ca5aa1e407 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7925/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7925/init.c
@@ -137,10 +137,18 @@ static int mt7925_init_hardware(struct mt792x_dev *dev)
set_bit(MT76_STATE_INITIALIZED, &dev->mphy.state);
for (i = 0; i < MT792x_MCU_INIT_RETRY_COUNT; i++) {
+ if (atomic_read(&dev->mt76.bus_hung)) {
+ ret = -EIO;
+ break;
+ }
+
ret = __mt7925_init_hardware(dev);
if (!ret)
break;
+ if (atomic_read(&dev->mt76.bus_hung))
+ break;
+
mt792x_init_reset(dev);
}
--
2.43.0
More information about the Linux-mediatek
mailing list