Commit 596c1956 authored by Alexis Lothoré's avatar Alexis Lothoré Committed by Kalle Valo

wifi: wilc1000: document SRCU usage instead of SRCU

Commit f236464f ("wifi: wilc1000: convert list management to RCU")
attempted to convert SRCU to RCU usage, assuming it was not really needed.
The runtime issues that arose after merging it showed that there are code
paths involving sleeping functions, and removing those would need some
heavier driver rework.

Add some documentation about SRCU need to make sure that any future
developer do not miss some use cases if tempted to convert back again to
RCU.
Signed-off-by: default avatarAlexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240528-wilc_revert_srcu_to_rcu-v1-3-bce096e0798c@bootlin.com
parent 3596717a
...@@ -220,6 +220,13 @@ struct wilc { ...@@ -220,6 +220,13 @@ struct wilc {
/* protect vif list */ /* protect vif list */
struct mutex vif_mutex; struct mutex vif_mutex;
/* Sleepable RCU struct to manipulate vif list. Sleepable version is
* needed over the classic RCU version because the driver's current
* design involves some sleeping code while manipulating a vif
* retrieved from vif list (so in a SRCU critical section), like:
* - sending commands to the chip, using info from retrieved vif
* - registering a new monitoring net device
*/
struct srcu_struct srcu; struct srcu_struct srcu;
u8 open_ifcs; u8 open_ifcs;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment