Rudi Heitbaum 844dc43e86 linux: rtw88: Three locking fixes for existing code
fixes:

[   38.800687] ------------[ cut here ]------------
[   38.800703] Voluntary context switch within RCU read-side critical section!
[   38.800715] WARNING: CPU: 3 PID: 49 at kernel/rcu/tree_plugin.h:318 rcu_note_context_switch+0x314/0x3ec
[   38.800740] Modules linked in: bnep rtw88_8822cs hci_uart rtw88_8822c btqca rtw88_sdio rtw88_core btrtl btbcm btintel crct10dif_ce mac80211 sunxi_cir bluetooth ecdh_generic libarc4 dwmac_sun8i ecc hantro_vpu v4l2_vp9 v4l2_h264 panfrost drm_shmem_helper gpu_sched sun50i_di cfg80211 rfkill pkcs8_key_parser fuse
[   38.800814] CPU: 3 PID: 49 Comm: kworker/u8:1 Not tainted 6.1.1 #1
[   38.800821] Hardware name: Tanix TX6 (DT)
[   38.800826] Workqueue: phy0 ieee80211_iface_work [mac80211]
[   38.800944] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   38.800950] pc : rcu_note_context_switch+0x314/0x3ec
[   38.800959] lr : rcu_note_context_switch+0x314/0x3ec
[   38.800965] sp : ffff8000098d3450
[   38.800968] x29: ffff8000098d3450 x28: ffff800000d71e90 x27: ffff00000f647400
[   38.800977] x26: 0000000000000000 x25: ffff8000098d36a8 x24: 0000000000000000
[   38.800986] x23: 0000000000000000 x22: ffff00000201d100 x21: ffff0000bf9ab100
[   38.800995] x20: ffff800009251e40 x19: ffff0000bf9abe40 x18: fffffffffffe7b30
[   38.801004] x17: 7a9deabfef448dbe x16: 0000000000004664 x15: fffffffffffe7b78
[   38.801013] x14: ffff800009400d38 x13: ffff800009400d90 x12: 0000000000000579
[   38.801022] x11: 00000000000001d3 x10: ffff80000945b958 x9 : ffff800009400d90
[   38.801031] x8 : 00000000ffffefff x7 : ffff800009458d90 x6 : 00000000000001d3
[   38.801039] x5 : ffff0000bf9a48a8 x4 : 0000000000000000 x3 : 0000000000000027
[   38.801048] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff00000201d100
[   38.801057] Call trace:
[   38.801060]  rcu_note_context_switch+0x314/0x3ec
[   38.801068]  __schedule+0xa4/0x6b0
[   38.801075]  schedule+0x58/0xc0
[   38.801081]  schedule_timeout+0xb8/0xec
[   38.801088]  wait_for_completion+0xb0/0x150
[   38.801093]  mmc_wait_for_req_done+0x68/0x9c
[   38.801103]  mmc_wait_for_req+0xa8/0xf4
[   38.801109]  mmc_wait_for_cmd+0x60/0x9c
[   38.801116]  mmc_io_rw_direct+0x98/0x12c
[   38.801124]  sdio_writeb+0x30/0x60
[   38.801131]  rtw_sdio_write8+0x7c/0x120 [rtw88_sdio]
[   38.801144]  rtw_bf_init_bfer_entry_mu+0x3c/0xc0 [rtw88_core]
[   38.801183]  rtw_bf_enable_bfee_mu+0x78/0x12c [rtw88_core]
[   38.801213]  rtw8822c_bf_config_bfee+0x44/0x10c [rtw88_8822c]
[   38.801229]  rtw_bf_assoc+0xec/0x210 [rtw88_core]
[   38.801258]  rtw_ops_bss_info_changed+0x27c/0x280 [rtw88_core]
[   38.801287]  ieee80211_bss_info_change_notify+0x100/0x184 [mac80211]
[   38.801363]  ieee80211_rx_mgmt_assoc_resp+0x16f4/0x1794 [mac80211]
[   38.801438]  ieee80211_sta_rx_queued_mgmt+0x250/0x9b0 [mac80211]
[   38.801513]  ieee80211_iface_work+0x2b4/0x3d0 [mac80211]
[   38.801589]  process_one_work+0x1cc/0x324
[   38.801597]  worker_thread+0x68/0x41c
[   38.801603]  kthread+0x104/0x110
[   38.801610]  ret_from_fork+0x10/0x20
[   38.801617] ---[ end trace 0000000000000000 ]---
2023-01-09 09:30:25 +00:00
2022-12-08 12:13:07 +01:00
2021-03-11 10:00:02 -08:00
2016-03-12 01:41:55 +01:00
2022-04-24 20:08:53 +00:00
2021-12-06 19:36:22 +01:00

LibreELEC

LibreELEC is a 'Just enough OS' Linux distribution for the award-winning Kodi software on popular mediacentre hardware. Further information on the project can be found on the LibreELEC website.

Issues & Support

Please ask questions in the LibreELEC forum: Help & Support or ask a member of project staff in the #libreelec IRC channel on Libera.Chat. Please report bugs via GitHub Issues.

Donations

Contributions towards current project funding goals can be made via OpenCollective.

License

LibreELEC original code is released under GPLv2.

Copyright

As LibreELEC includes code from many upstream projects it has many copyright owners; notably OpenELEC which we forked from after disagreeing with project direction and management, and OpenBricks/GeeXboX the uncredited source of the original 2009 build system. LibreELEC makes no claim of copyright on any upstream code. However all original LibreELEC authored code is copyright LibreELEC.tv. Patches to upstream code have the same license as the upstream project unless specified otherwise. For a complete copyright list please checkout the source code to examine license headers. Unless expressly stated otherwise all code submitted to the LibreELEC project (in any form) is licensed under GPLv2 and copyright is donated to the project. This approach gives the project freedom to maintain the code without the overhead of preserving contact with every submitter, e.g. GPLv3. You are free to retain copyright by adding your copyright header to each submitted code page. If you submit code that is not your own work it is your responsibility to place a header stating the copyright.

Description
No description provided
Readme 419 MiB
Languages
Makefile 50.2%
Shell 39.2%
Python 7.6%
C 1.2%
C++ 0.8%
Other 1%