diff --git a/mt7996/mac.c b/mt7996/mac.c index a52b4e71..d89c06f4 100644 --- a/mt7996/mac.c +++ b/mt7996/mac.c @@ -2334,7 +2334,6 @@ void mt7996_mac_sta_rc_work(struct work_struct *work) changed = msta_link->changed; msta_link->changed = 0; - spin_unlock_bh(&dev->mt76.sta_poll_lock); sta = wcid_to_sta(&msta_link->wcid); link_id = msta_link->wcid.link_id; @@ -2354,6 +2353,8 @@ void mt7996_mac_sta_rc_work(struct work_struct *work) if (!link_conf) continue; + spin_unlock_bh(&dev->mt76.sta_poll_lock); + link = (struct mt7996_vif_link *)mlink; if (changed & (IEEE80211_RC_SUPP_RATES_CHANGED |