Don't know if this is relevant globally, to Netgear R6700v2, Mediatek MT7615E or MT7621. Given the questions of 5GHz instability I thought I'd ask the DEVs to look at this. Don't know if it's old or new news.
As part of chasing another issue, I pulled+rebuilt OpenWrt 23.05.5 r24106-10cc5fcd00
, enabling kernel debug features under make kernel_menuconfig -> kernel hacking
-- Lock debugging among them.
At router or 5GHz interface (manual) startup multiple of the following kernel warnings were logged:
[ 115.734322] ------------[ cut here ]------------
[ 115.743621] WARNING: CPU: 1 PID: 59 at backports-6.1.110-1/net/wireless/core.h:239 cfg80211_any_wiphy_oper_chan+0x14c/0x28c [cfg80211]
[ 115.767928] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_counter nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mt7615e mt7615_common mt7603e mt76_connac_lib mt76 mac80211 cfg80211 slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c hwmon crc_ccitt compat ledtrig_usbport sha512_generic seqiv jitterentropy_rng drbg hmac cmac leds_gpio gpio_button_hotplug
[ 115.889991] CPU: 1 PID: 59 Comm: kworker/u8:1 Tainted: G W 5.15.167 #0
[ 115.905620] Workqueue: cfg80211 cfg80211_dfs_channels_update_work [cfg80211]
[ 115.919828] Stack : 00000000 00000004 800907b0 8008db08 80a077c4 81643c6c 8154c480 8004d364
[ 115.936521] 80a077c4 81643ca5 00000001 81643a98 83e3ac44 00000001 81643c78 814a6800
[ 115.953229] 00000000 00000000 80a077c4 81643a98 ffffefff 00000000 ffffffea 00000000
[ 115.969930] 81643aa4 000003de 80b24448 ffffffff 80a077c4 00000001 00000000 83e41e98
[ 115.986617] 00000009 00000001 81ffda24 83e4acf8 00000018 804d2a54 00000004 80cf0004
[ 116.003293] ...
[ 116.008168] Call Trace:
[ 116.013023] [<80007f24>] show_stack+0x28/0xf0
[ 116.021728] [<80444c00>] dump_stack_lvl+0x60/0x80
[ 116.031094] [<8002e2d0>] __warn+0x9c/0x124
[ 116.039266] [<8002e3b4>] warn_slowpath_fmt+0x5c/0xac
[ 116.049182] [<83e41e98>] cfg80211_any_wiphy_oper_chan+0x14c/0x28c [cfg80211]
[ 116.063414] [<83e3ad74>] cfg80211_dfs_channels_update_work+0x130/0x260 [cfg80211]
[ 116.078421] [<8004b644>] process_one_work+0x2e0/0x578
[ 116.088503] [<8004be64>] worker_thread+0x160/0x5b0
[ 116.098045] [<80053bb8>] kthread+0x140/0x164
[ 116.106558] [<80003058>] ret_from_kernel_thread+0x14/0x1c
[ 116.117324]
[ 116.120391] ---[ end trace accb711393f46f4e ]---
unwinding this thru #defines and inline func decls, it seems that cfg80211_any_wiphy_oper_chan()
ultimately calls wdev_lock(wdev)
AND when disabling the 5G interface via luci multiple similar kernel warnings are logged:
[252106.445170] ------------[ cut here ]------------
[252106.454648] WARNING: CPU: 3 PID: 13772 at backports-6.1.110-1/net/wireless/core.h:231 cfg80211_leave_ibss+0x4f0/0x6b8 [cfg80211]
[252106.478064] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_counter nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mt7615e mt7615_common mt7603e mt76_connac_lib mt76 mac80211 cfg80211 slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c hwmon crc_ccitt compat ledtrig_usbport sha512_generic seqiv jitterentropy_rng drbg hmac cmac leds_gpio gpio_button_hotplug
[252106.600385] CPU: 3 PID: 13772 Comm: kworker/3:3 Tainted: G W 5.15.167 #0
[252106.616524] Workqueue: events cfg80211_leave_ibss [cfg80211]
[252106.628107] Stack : 00000000 00000004 800907b0 8008db08 80a077c4 815e5cec 81693d80 8004d364
[252106.644971] 80a077c4 815e5d23 00000001 815e5b18 83e3c020 00000001 815e5cf8 814c4100
[252106.661821] 00000000 00000000 80a077c4 815e5b18 ffffefff 00000000 ffffffea 00000000
[252106.678675] 815e5b24 00000408 80b24448 ffffffff 80a077c4 00000001 00000000 83e3c17c
[252106.695520] 00000009 84230000 83e4ac38 83e4b05c 00000000 804d2a54 0000000c 80cf000c
[252106.712366] ...
[252106.717411] Call Trace:
[252106.722438] [<80007f24>] show_stack+0x28/0xf0
[252106.731317] [<80444c00>] dump_stack_lvl+0x60/0x80
[252106.740875] [<8002e2d0>] __warn+0x9c/0x124
[252106.749219] [<8002e3b4>] warn_slowpath_fmt+0x5c/0xac
[252106.759300] [<83e3c17c>] cfg80211_leave_ibss+0x4f0/0x6b8 [cfg80211]
[252106.772108]
[252106.775331] ---[ end trace accb711393f46f4f ]---
This warning is thrown in:
cfg80211_is_wiphy_oper_chan()
backports-6.1.110-1/net/wireless/chan.c decl'd @ line 693
... apparently walking the list &wiphy->wdev_list
, attempting to lock each list entry - finding one / more already locked.
Given this is kernel code and that its developers felt KERN_WARNING is deserved, and given some of this is backports-6.1.110, it may be worth a look.
AND an update: when re-enabling the 5GHz interface via luci->wifi, luci shows it as enabled but its SSID isn't out there.
substantive replies appreciated.