Skip to content

Commit

Permalink
wifi: wilc1000: document SRCU usage instead of SRCU
Browse files Browse the repository at this point in the history
Commit f236464 ("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: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240528-wilc_revert_srcu_to_rcu-v1-3-bce096e0798c@bootlin.com
  • Loading branch information
Alexis Lothoré authored and Kalle Valo committed Jun 1, 2024
1 parent 3596717 commit 596c195
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/net/wireless/microchip/wilc1000/netdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,13 @@ struct wilc {

/* protect vif list */
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;
u8 open_ifcs;

Expand Down

0 comments on commit 596c195

Please sign in to comment.