From 62c038aa3e94e73f6f4459f9f24bbacf2f39816b Mon Sep 17 00:00:00 2001 From: Devin Wittmayer Date: Sat, 29 Aug 2026 23:42:00 -0700 Subject: [PATCH] wifi: mt76: mt7921: fix the lock inversion in suspend and resume Same inversion as the config path, same one word fix, missed the first time. Both are called with the wiphy mutex held, so the walk can rely on that instead of taking the list mutex. No new splat: same class pair as the accepted fix, and lockdep reports a pair once per boot. Fixes: ffa1bf97425b ("mt76: mt7921: introduce PM support") Link: https://patch.msgid.link/20260810045338.118923-2-lucid_duck@justthetip.ca Signed-off-by: Devin Wittmayer Link: https://patch.msgid.link/20260830064201.92285-2-lucid_duck@justthetip.ca Signed-off-by: Felix Fietkau --- mt7921/main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mt7921/main.c b/mt7921/main.c index 0f02a04a..785e7c53 100644 --- a/mt7921/main.c +++ b/mt7921/main.c @@ -1156,10 +1156,10 @@ static int mt7921_suspend(struct ieee80211_hw *hw, mt792x_mutex_acquire(dev); clear_bit(MT76_STATE_RUNNING, &phy->mt76->state); - ieee80211_iterate_active_interfaces(hw, - IEEE80211_IFACE_ITER_RESUME_ALL, - mt7921_mcu_set_suspend_iter, - &dev->mphy); + ieee80211_iterate_active_interfaces_mtx(hw, + IEEE80211_IFACE_ITER_RESUME_ALL, + mt7921_mcu_set_suspend_iter, + &dev->mphy); mt792x_mutex_release(dev); @@ -1174,10 +1174,10 @@ static int mt7921_resume(struct ieee80211_hw *hw) mt792x_mutex_acquire(dev); set_bit(MT76_STATE_RUNNING, &phy->mt76->state); - ieee80211_iterate_active_interfaces(hw, - IEEE80211_IFACE_ITER_RESUME_ALL, - mt76_connac_mcu_set_suspend_iter, - &dev->mphy); + ieee80211_iterate_active_interfaces_mtx(hw, + IEEE80211_IFACE_ITER_RESUME_ALL, + mt76_connac_mcu_set_suspend_iter, + &dev->mphy); ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, MT792x_WATCHDOG_TIME);