tipc: Revise comment justifying release of configuration spinlock
Allan Stephens [Tue, 18 Oct 2011 18:47:02 +0000 (14:47 -0400)]
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>

net/tipc/config.c

index b25a396..4785bf2 100644 (file)
@@ -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);