diff options
Diffstat (limited to 'net/tipc/node.c')
| -rw-r--r-- | net/tipc/node.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c index cfdbaf479fd1..1cdb176798f7 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c | |||
| @@ -363,6 +363,8 @@ static struct tipc_node *tipc_node_create(struct net *net, u32 addr, | |||
| 363 | { | 363 | { |
| 364 | struct tipc_net *tn = net_generic(net, tipc_net_id); | 364 | struct tipc_net *tn = net_generic(net, tipc_net_id); |
| 365 | struct tipc_node *n, *temp_node; | 365 | struct tipc_node *n, *temp_node; |
| 366 | struct tipc_link *l; | ||
| 367 | int bearer_id; | ||
| 366 | int i; | 368 | int i; |
| 367 | 369 | ||
| 368 | spin_lock_bh(&tn->node_list_lock); | 370 | spin_lock_bh(&tn->node_list_lock); |
| @@ -370,6 +372,11 @@ static struct tipc_node *tipc_node_create(struct net *net, u32 addr, | |||
| 370 | if (n) { | 372 | if (n) { |
| 371 | /* Same node may come back with new capabilities */ | 373 | /* Same node may come back with new capabilities */ |
| 372 | n->capabilities = capabilities; | 374 | n->capabilities = capabilities; |
| 375 | for (bearer_id = 0; bearer_id < MAX_BEARERS; bearer_id++) { | ||
| 376 | l = n->links[bearer_id].link; | ||
| 377 | if (l) | ||
| 378 | tipc_link_update_caps(l, capabilities); | ||
| 379 | } | ||
| 373 | goto exit; | 380 | goto exit; |
| 374 | } | 381 | } |
| 375 | n = kzalloc(sizeof(*n), GFP_ATOMIC); | 382 | n = kzalloc(sizeof(*n), GFP_ATOMIC); |
