• Lorenzo Bianconi's avatar
    mt76: mt7921: add rcu section in mt7921_mcu_tx_rate_report · 481fc927
    Lorenzo Bianconi authored
    Introduce rcu section in mt7921_mcu_tx_rate_report before dereferencing
    wcid pointer otherwise loockdep will report the following issue:
    
    [  115.245740] =============================
    [  115.245754] WARNING: suspicious RCU usage
    [  115.245771] 5.10.20 #0 Not tainted
    [  115.245784] -----------------------------
    [  115.245816] other info that might help us debug this:
    [  115.245830] rcu_scheduler_active = 2, debug_locks = 1
    [  115.245845] 3 locks held by kworker/u4:1/20:
    [  115.245858]  #0: ffffff80065ab138 ((wq_completion)phy0){+.+.}-{0:0}, at: process_one_work+0x1f8/0x6b8
    [  115.245948]  #1: ffffffc01198bdd8 ((work_completion)(&(&dev->mphy.mac_work)->work)){+.+.}-{0:0}, at: process_one_8
    [  115.246027]  #2: ffffff8006543ce8 (&dev->mutex#2){+.+.}-{3:3}, at: mt7921_mac_work+0x60/0x2b0 [mt7921e]
    [  115.246125]
    [  115.246125] stack backtrace:
    [  115.246142] CPU: 1 PID: 20 Comm: kworker/u4:1 Not tainted 5.10.20 #0
    [  115.246152] Hardware name: MediaTek MT7622 RFB1 board (DT)
    [  115.246168] Workqueue: phy0 mt7921_mac_work [mt7921e]
    [  115.246188] Call trace:
    [  115.246201]  dump_backtrace+0x0/0x1a8
    [  115.246213]  show_stack+0x14/0x30
    [  115.246228]  dump_stack+0xec/0x134
    [  115.246240]  lockdep_rcu_suspicious+0xcc/0xdc
    [  115.246255]  mt7921_get_wtbl_info+0x2a4/0x310 [mt7921e]
    [  115.246269]  mt7921_mac_work+0x284/0x2b0 [mt7921e]
    [  115.246281]  process_one_work+0x2a0/0x6b8
    [  115.246293]  worker_thread+0x40/0x440
    [  115.246305]  kthread+0x144/0x148
    [  115.246317]  ret_from_fork+0x10/0x18
    
    Fixes: 1c099ab4 ("mt76: mt7921: add MCU support")
    Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
    481fc927
mcu.c 31.6 KB