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 3819ab14e073..68014f1b6976 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c | |||
@@ -862,6 +862,7 @@ static u32 tipc_node_suggest_addr(struct net *net, u32 addr) | |||
862 | } | 862 | } |
863 | 863 | ||
864 | /* tipc_node_try_addr(): Check if addr can be used by peer, suggest other if not | 864 | /* tipc_node_try_addr(): Check if addr can be used by peer, suggest other if not |
865 | * Returns suggested address if any, otherwise 0 | ||
865 | */ | 866 | */ |
866 | u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr) | 867 | u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr) |
867 | { | 868 | { |
@@ -884,12 +885,14 @@ u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr) | |||
884 | if (n) { | 885 | if (n) { |
885 | addr = n->addr; | 886 | addr = n->addr; |
886 | tipc_node_put(n); | 887 | tipc_node_put(n); |
888 | return addr; | ||
887 | } | 889 | } |
888 | /* Even this node may be in trial phase */ | 890 | |
891 | /* Even this node may be in conflict */ | ||
889 | if (tn->trial_addr == addr) | 892 | if (tn->trial_addr == addr) |
890 | return tipc_node_suggest_addr(net, addr); | 893 | return tipc_node_suggest_addr(net, addr); |
891 | 894 | ||
892 | return addr; | 895 | return 0; |
893 | } | 896 | } |
894 | 897 | ||
895 | void tipc_node_check_dest(struct net *net, u32 addr, | 898 | void tipc_node_check_dest(struct net *net, u32 addr, |