]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mt76: mt7996: move mt7996_update_beacons under mt76 mutex
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 14 Nov 2025 13:16:22 +0000 (14:16 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 24 Nov 2025 13:59:12 +0000 (14:59 +0100)
Move mt7996_update_beacons routine inside mt76 mutex critical section
in mt7996_mac_reset_work() in order to run mt7996_vif_conf_link() in
mt7996_mcu_add_beacon routine.

Fixes: f30906c55a400 ("wifi: mt76: mt7996: disable beacons when going offchannel")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Tested-by: Ben Greear <greearb@candelatech.com>
Link: https://patch.msgid.link/20251114-mt76-fix-missing-mtx-v1-2-259ebf11f654@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/mac.c

index 2c869f710193e4c32fc0bf6592b3bda9312722a3..a3420f683d2746bf19e9f0faa7ad8a67dfd745b1 100644 (file)
@@ -2632,11 +2632,11 @@ void mt7996_mac_reset_work(struct work_struct *work)
        local_bh_enable();
 
        ieee80211_wake_queues(hw);
+       mt7996_update_beacons(dev);
 
        mutex_unlock(&dev->mt76.mutex);
 
        mt7996_npu_hw_init(dev);
-       mt7996_update_beacons(dev);
 
        mt7996_for_each_phy(dev, phy)
                ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,