From: Allan Stephens Date: Wed, 18 Apr 2012 13:12:09 +0000 (-0400) Subject: tipc: take lock while updating node network address X-Git-Tag: next-20120430~54^2~126^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=974a5a864bf959b7f3412a31ee8ce001c6628451;p=karo-tx-linux.git tipc: take lock while updating node network address The routine that changes the node's network address now takes TIPC's network lock in write mode while the main address variable and associated data structures are being changed; this is needed to ensure that the link subsystem won't attempt to send a message off-node until the sending port's message header template has been updated with the node's new network address. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker --- diff --git a/net/tipc/net.c b/net/tipc/net.c index d4531b07076c..5fab4ff24a94 100644 --- a/net/tipc/net.c +++ b/net/tipc/net.c @@ -178,11 +178,12 @@ int tipc_net_start(u32 addr) tipc_subscr_stop(); tipc_cfg_stop(); + write_lock_bh(&tipc_net_lock); tipc_own_addr = addr; tipc_named_reinit(); tipc_port_reinit(); - tipc_bclink_init(); + write_unlock_bh(&tipc_net_lock); tipc_k_signal((Handler)tipc_subscr_start, 0); tipc_k_signal((Handler)tipc_cfg_init, 0);