aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/config.c')
-rw-r--r--net/tipc/config.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/net/tipc/config.c b/net/tipc/config.c
index b25a396b7e1e..4785bf26cdf4 100644
--- a/net/tipc/config.c
+++ b/net/tipc/config.c
@@ -184,13 +184,12 @@ static struct sk_buff *cfg_set_own_addr(void)
184 " (cannot change node address once assigned)"); 184 " (cannot change node address once assigned)");
185 185
186 /* 186 /*
187 * Must release all spinlocks before calling start_net() because 187 * Must temporarily release configuration spinlock while switching into
188 * Linux version of TIPC calls eth_media_start() which calls 188 * networking mode as it calls tipc_eth_media_start(), which may sleep.
189 * register_netdevice_notifier() which may block! 189 * Releasing the lock is harmless as other locally-issued configuration
190 * 190 * commands won't occur until this one completes, and remotely-issued
191 * Temporarily releasing the lock should be harmless for non-Linux TIPC, 191 * configuration commands can't be received until a local configuration
192 * but Linux version of eth_media_start() should really be reworked 192 * command to enable the first bearer is received and processed.
193 * so that it can be called with spinlocks held.
194 */ 193 */
195 194
196 spin_unlock_bh(&config_lock); 195 spin_unlock_bh(&config_lock);