diff options
Diffstat (limited to 'net/tipc/link.c')
| -rw-r--r-- | net/tipc/link.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c index cc40aa6eb66c..05837ba7b68c 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
| @@ -228,6 +228,8 @@ struct tipc_link *tipc_link_create(struct tipc_node *n_ptr, | |||
| 228 | l_ptr->peer_session = WILDCARD_SESSION; | 228 | l_ptr->peer_session = WILDCARD_SESSION; |
| 229 | l_ptr->bearer_id = b_ptr->identity; | 229 | l_ptr->bearer_id = b_ptr->identity; |
| 230 | l_ptr->tolerance = b_ptr->tolerance; | 230 | l_ptr->tolerance = b_ptr->tolerance; |
| 231 | l_ptr->snd_nxt = 1; | ||
| 232 | l_ptr->rcv_nxt = 1; | ||
| 231 | l_ptr->state = TIPC_LINK_RESETTING; | 233 | l_ptr->state = TIPC_LINK_RESETTING; |
| 232 | 234 | ||
| 233 | l_ptr->pmsg = (struct tipc_msg *)&l_ptr->proto_msg; | 235 | l_ptr->pmsg = (struct tipc_msg *)&l_ptr->proto_msg; |
| @@ -376,6 +378,7 @@ static int tipc_link_fsm_evt(struct tipc_link *l, int evt, | |||
| 376 | pl = node_active_link(l->owner, 0); | 378 | pl = node_active_link(l->owner, 0); |
| 377 | if (pl && link_probing(pl)) | 379 | if (pl && link_probing(pl)) |
| 378 | break; | 380 | break; |
| 381 | l->state = TIPC_LINK_WORKING; | ||
| 379 | actions |= LINK_ACTIVATE; | 382 | actions |= LINK_ACTIVATE; |
| 380 | if (!l->owner->working_links) | 383 | if (!l->owner->working_links) |
| 381 | actions |= SND_BCAST_SYNC; | 384 | actions |= SND_BCAST_SYNC; |
| @@ -398,6 +401,7 @@ static int tipc_link_fsm_evt(struct tipc_link *l, int evt, | |||
| 398 | pl = node_active_link(l->owner, 0); | 401 | pl = node_active_link(l->owner, 0); |
| 399 | if (pl && link_probing(pl)) | 402 | if (pl && link_probing(pl)) |
| 400 | break; | 403 | break; |
| 404 | l->state = TIPC_LINK_WORKING; | ||
| 401 | actions |= LINK_ACTIVATE; | 405 | actions |= LINK_ACTIVATE; |
| 402 | if (!l->owner->working_links) | 406 | if (!l->owner->working_links) |
| 403 | actions |= SND_BCAST_SYNC; | 407 | actions |= SND_BCAST_SYNC; |
| @@ -639,19 +643,6 @@ void tipc_link_reset(struct tipc_link *l_ptr) | |||
| 639 | link_reset_statistics(l_ptr); | 643 | link_reset_statistics(l_ptr); |
| 640 | } | 644 | } |
| 641 | 645 | ||
| 642 | void tipc_link_activate(struct tipc_link *link) | ||
| 643 | { | ||
| 644 | struct tipc_node *node = link->owner; | ||
| 645 | |||
| 646 | link->rcv_nxt = 1; | ||
| 647 | link->stats.recv_info = 1; | ||
| 648 | link->silent_intv_cnt = 0; | ||
| 649 | link->state = TIPC_LINK_WORKING; | ||
| 650 | link->exec_mode = TIPC_LINK_OPEN; | ||
| 651 | tipc_node_link_up(node, link->bearer_id); | ||
| 652 | tipc_bearer_add_dest(node->net, link->bearer_id, link->addr); | ||
| 653 | } | ||
| 654 | |||
| 655 | /** | 646 | /** |
| 656 | * __tipc_link_xmit(): same as tipc_link_xmit, but destlink is known & locked | 647 | * __tipc_link_xmit(): same as tipc_link_xmit, but destlink is known & locked |
| 657 | * @link: link to use | 648 | * @link: link to use |
