diff options
Diffstat (limited to 'net/tipc/node.c')
| -rw-r--r-- | net/tipc/node.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c index 6a44eb812baf..0453bd451ce8 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c @@ -797,6 +797,7 @@ static u32 tipc_node_suggest_addr(struct net *net, u32 addr)  }  /* tipc_node_try_addr(): Check if addr can be used by peer, suggest other if not + * Returns suggested address if any, otherwise 0   */  u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr)  { @@ -819,12 +820,14 @@ u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr)  	if (n) {  		addr = n->addr;  		tipc_node_put(n); +		return addr;  	} -	/* Even this node may be in trial phase */ + +	/* Even this node may be in conflict */  	if (tn->trial_addr == addr)  		return tipc_node_suggest_addr(net, addr); -	return addr; +	return 0;  }  void tipc_node_check_dest(struct net *net, u32 addr,  |