> -----Original Message----- > From: Kalle Valo <kvalo@xxxxxxxxxx> > Sent: Friday, May 27, 2022 2:29 PM > To: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > Cc: tony0620emma@xxxxxxxxx; linux-wireless@xxxxxxxxxxxxxxx; megi@xxxxxx; Bernie Huang > <phhuang@xxxxxxxxxxx> > Subject: Re: [PATCH] rtw88: add a work to correct atomic scheduling warning of ::set_tim > > Ping-Ke Shih <pkshih@xxxxxxxxxxx> writes: > > > The set_tim is supposed to be atomic, but we should download beacon > > context to firmware with a mutex lock. To avoid warning, do the thing in > > another work. > > > > BUG: scheduling while atomic: swapper/1/0/0x00000700 > > Modules linked in: > > CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W 5.18.0-rc7-00703-g33b5ee09a0c1 #4 > > Hardware name: Pine64 RK3566 Quartz64-A Board (DT) > > Call trace: > > dump_backtrace.part.0+0xc4/0xd0 > > show_stack+0x14/0x60 > > dump_stack_lvl+0x60/0x78 > > dump_stack+0x14/0x2c > > __schedule_bug+0x5c/0x70 > > __schedule+0x5c4/0x630 > > schedule+0x44/0xb0 > > schedule_preempt_disabled+0xc/0x14 > > __mutex_lock.constprop.0+0x538/0x56c > > __mutex_lock_slowpath+0x10/0x20 > > mutex_lock+0x54/0x60 > > rtw_ops_set_tim+0x20/0x40 > > __sta_info_recalc_tim+0x150/0x250 > > sta_info_recalc_tim+0x10/0x20 > > invoke_tx_handlers_early+0x4e4/0x5c0 > > ieee80211_tx+0x78/0x110 > > ieee80211_xmit+0x94/0xc0 > > __ieee80211_subif_start_xmit+0x818/0xd20 > > ieee80211_subif_start_xmit+0x44/0x2d0 > > dev_hard_start_xmit+0xd0/0x150 > > __dev_queue_xmit+0x250/0xb30 > > dev_queue_xmit+0x10/0x20 > > br_dev_queue_push_xmit+0x94/0x174 > > br_forward_finish+0x90/0xa0 > > __br_forward+0xc0/0x13c > > br_forward+0x108/0x134 > > br_dev_xmit+0x1cc/0x3a4 > > dev_hard_start_xmit+0xd0/0x150 > > __dev_queue_xmit+0x250/0xb30 > > dev_queue_xmit+0x10/0x20 > > arp_xmit+0x6c/0x7c > > arp_send_dst+0x8c/0xc0 > > arp_solicit+0xd4/0x1e0 > > neigh_probe+0x58/0xa0 > > neigh_timer_handler+0x27c/0x380 > > call_timer_fn.constprop.0+0x20/0x80 > > __run_timers.part.0+0x230/0x280 > > run_timer_softirq+0x38/0x70 > > _stext+0x104/0x278 > > __irq_exit_rcu+0xa4/0xdc > > irq_exit_rcu+0xc/0x14 > > el1_interrupt+0x34/0x50 > > el1h_64_irq_handler+0x14/0x20 > > el1h_64_irq+0x64/0x68 > > arch_cpu_idle+0x14/0x20 > > do_idle+0x208/0x290 > > cpu_startup_entry+0x20/0x30 > > secondary_start_kernel+0x130/0x144 > > __secondary_switched+0x54/0x58 > > > > Fixes: f2217968ffda ("rtw88: Add update beacon flow for AP mode") > > Reported-by: Ondřej Jirman <megi@xxxxxx> > > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > > Should I queue this to v5.19 (ie. take to wireles tree)? > Yes, please. I think it would be good to have this fix. Thanks Ping-Ke