Skip to content

Commit

Permalink
tipc: Revise comment justifying release of configuration spinlock
Browse files Browse the repository at this point in the history
Comment-only change to better explain why TIPC's configuration lock is
temporarily released while activating support for network interfaces,
and why the existing activation code doesn't require rework.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
  • Loading branch information
Allan Stephens authored and Paul Gortmaker committed Dec 27, 2011
1 parent 5c216e1 commit bfec73d
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions net/tipc/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,13 +184,12 @@ static struct sk_buff *cfg_set_own_addr(void)
" (cannot change node address once assigned)");

/*
* Must release all spinlocks before calling start_net() because
* Linux version of TIPC calls eth_media_start() which calls
* register_netdevice_notifier() which may block!
*
* Temporarily releasing the lock should be harmless for non-Linux TIPC,
* but Linux version of eth_media_start() should really be reworked
* so that it can be called with spinlocks held.
* Must temporarily release configuration spinlock while switching into
* networking mode as it calls tipc_eth_media_start(), which may sleep.
* Releasing the lock is harmless as other locally-issued configuration
* commands won't occur until this one completes, and remotely-issued
* configuration commands can't be received until a local configuration
* command to enable the first bearer is received and processed.
*/

spin_unlock_bh(&config_lock);
Expand Down

0 comments on commit bfec73d

Please sign in to comment.