linux-stable/drivers/net/wireless/realtek/rtw88
Ping-Ke Shih 7711fe713a wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim
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: f2217968ff ("rtw88: Add update beacon flow for AP mode")
Reported-by: Ondřej Jirman <megi@xff.cz>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Tested-by: Ondřej Jirman <megi@xff.cz>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220526051251.281905-1-pkshih@realtek.com
2022-05-30 12:15:07 +03:00
..
bf.c mac80211: prepare sta handling for MLO support 2022-04-11 16:42:03 +02:00
bf.h rtw88: don't check CRC of VHT-SIG-B in 802.11ac signal 2021-12-20 20:49:02 +02:00
coex.c rtw88: coex: Add C2H/H2C handshake with BT mailbox for asking HID Info 2022-02-21 10:49:20 +02:00
coex.h rtw88: coex: Add C2H/H2C handshake with BT mailbox for asking HID Info 2022-02-21 10:49:20 +02:00
debug.c rtw88: change rtw_info() to proper message level 2022-02-22 17:31:13 +02:00
debug.h rtw88: change rtw_info() to proper message level 2022-02-22 17:31:13 +02:00
efuse.c
efuse.h
fw.c wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim 2022-05-30 12:15:07 +03:00
fw.h wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim 2022-05-30 12:15:07 +03:00
hci.h
Kconfig
mac.c rtw88: use the correct bit in the REG_HCI_OPT_CTRL register 2022-04-27 07:58:00 +03:00
mac.h
mac80211.c wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim 2022-05-30 12:15:07 +03:00
main.c wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim 2022-05-30 12:15:07 +03:00
main.h wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim 2022-05-30 12:15:07 +03:00
Makefile rtw88: support SAR via kernel common API 2021-12-21 20:22:38 +02:00
pci.c rtw88: remove a copy of the NAPI_POLL_WEIGHT define 2022-05-02 17:38:48 +03:00
pci.h rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE 2021-12-20 20:48:10 +02:00
phy.c rtw88: add ieee80211:sta_rc_update ops 2022-04-12 16:52:05 +03:00
phy.h rtw88: support SAR via kernel common API 2021-12-21 20:22:38 +02:00
ps.c rtw88: don't consider deep PS mode when transmitting packet 2021-12-22 19:48:50 +02:00
ps.h rtw88: don't consider deep PS mode when transmitting packet 2021-12-22 19:48:50 +02:00
reg.h rtw88: Add update beacon flow for AP mode 2022-04-12 16:52:05 +03:00
regd.c rtw88: support adaptivity for ETSI/JP DFS region 2021-09-21 17:51:56 +03:00
regd.h rtw88: add regulatory strategy by chip type 2021-09-21 17:51:56 +03:00
rtw8723d.c rtw88: add HT MPDU density value for each chip 2022-05-01 19:13:22 +03:00
rtw8723d.h
rtw8723d_table.c
rtw8723d_table.h
rtw8723de.c
rtw8723de.h
rtw8821c.c rtw88: add HT MPDU density value for each chip 2022-05-01 19:13:22 +03:00
rtw8821c.h rtw88: 8822c: update rx settings to prevent potential hw deadlock 2021-12-20 20:50:13 +02:00
rtw8821c_table.c rtw88: 8821c: Enable TX report for management frames 2022-04-12 16:52:05 +03:00
rtw8821c_table.h
rtw8821ce.c rtw88: 8821ce: add support for device ID 0xb821 2022-04-12 16:52:54 +03:00
rtw8821ce.h
rtw8822b.c rtw88: add HT MPDU density value for each chip 2022-05-01 19:13:22 +03:00
rtw8822b.h rtw88: support adaptivity for ETSI/JP DFS region 2021-09-21 17:51:56 +03:00
rtw8822b_table.c
rtw8822b_table.h
rtw8822be.c
rtw8822be.h
rtw8822c.c rtw88: add HT MPDU density value for each chip 2022-05-01 19:13:22 +03:00
rtw8822c.h rtw88: 8822c: add ieee80211_ops::hw_scan 2021-12-21 20:19:13 +02:00
rtw8822c_table.c rtw88: 8822c: update RF parameter tables to v62 2021-06-22 18:19:26 +03:00
rtw8822c_table.h
rtw8822ce.c
rtw8822ce.h
rx.c rtw88: fix incorrect frequency reported 2022-04-12 16:52:05 +03:00
rx.h
sar.c rtw88: change rtw_info() to proper message level 2022-02-22 17:31:13 +02:00
sar.h rtw88: support SAR via kernel common API 2021-12-21 20:22:38 +02:00
sec.c
sec.h
tx.c rtw88: Add update beacon flow for AP mode 2022-04-12 16:52:05 +03:00
tx.h rtw88: Add update beacon flow for AP mode 2022-04-12 16:52:05 +03:00
util.c
util.h
wow.c rtw88: wow: report wow reason through mac80211 api 2021-08-21 22:19:15 +03:00
wow.h