mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 21:57:43 +00:00
7711fe713a
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:
|
||
---|---|---|
.. | ||
bf.c | ||
bf.h | ||
coex.c | ||
coex.h | ||
debug.c | ||
debug.h | ||
efuse.c | ||
efuse.h | ||
fw.c | ||
fw.h | ||
hci.h | ||
Kconfig | ||
mac.c | ||
mac.h | ||
mac80211.c | ||
main.c | ||
main.h | ||
Makefile | ||
pci.c | ||
pci.h | ||
phy.c | ||
phy.h | ||
ps.c | ||
ps.h | ||
reg.h | ||
regd.c | ||
regd.h | ||
rtw8723d.c | ||
rtw8723d.h | ||
rtw8723d_table.c | ||
rtw8723d_table.h | ||
rtw8723de.c | ||
rtw8723de.h | ||
rtw8821c.c | ||
rtw8821c.h | ||
rtw8821c_table.c | ||
rtw8821c_table.h | ||
rtw8821ce.c | ||
rtw8821ce.h | ||
rtw8822b.c | ||
rtw8822b.h | ||
rtw8822b_table.c | ||
rtw8822b_table.h | ||
rtw8822be.c | ||
rtw8822be.h | ||
rtw8822c.c | ||
rtw8822c.h | ||
rtw8822c_table.c | ||
rtw8822c_table.h | ||
rtw8822ce.c | ||
rtw8822ce.h | ||
rx.c | ||
rx.h | ||
sar.c | ||
sar.h | ||
sec.c | ||
sec.h | ||
tx.c | ||
tx.h | ||
util.c | ||
util.h | ||
wow.c | ||
wow.h |