diff options
Diffstat (limited to 'net/tipc/bcast.c')
-rw-r--r-- | net/tipc/bcast.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c index 53f8bf059fec..3b886eb35c87 100644 --- a/net/tipc/bcast.c +++ b/net/tipc/bcast.c | |||
@@ -283,10 +283,11 @@ exit: | |||
283 | * | 283 | * |
284 | * RCU and node lock set | 284 | * RCU and node lock set |
285 | */ | 285 | */ |
286 | void tipc_bclink_update_link_state(struct net *net, struct tipc_node *n_ptr, | 286 | void tipc_bclink_update_link_state(struct tipc_node *n_ptr, |
287 | u32 last_sent) | 287 | u32 last_sent) |
288 | { | 288 | { |
289 | struct sk_buff *buf; | 289 | struct sk_buff *buf; |
290 | struct net *net = n_ptr->net; | ||
290 | struct tipc_net *tn = net_generic(net, tipc_net_id); | 291 | struct tipc_net *tn = net_generic(net, tipc_net_id); |
291 | 292 | ||
292 | /* Ignore "stale" link state info */ | 293 | /* Ignore "stale" link state info */ |
@@ -317,7 +318,7 @@ void tipc_bclink_update_link_state(struct net *net, struct tipc_node *n_ptr, | |||
317 | struct sk_buff *skb = skb_peek(&n_ptr->bclink.deferred_queue); | 318 | struct sk_buff *skb = skb_peek(&n_ptr->bclink.deferred_queue); |
318 | u32 to = skb ? buf_seqno(skb) - 1 : n_ptr->bclink.last_sent; | 319 | u32 to = skb ? buf_seqno(skb) - 1 : n_ptr->bclink.last_sent; |
319 | 320 | ||
320 | tipc_msg_init(net, msg, BCAST_PROTOCOL, STATE_MSG, | 321 | tipc_msg_init(tn->own_addr, msg, BCAST_PROTOCOL, STATE_MSG, |
321 | INT_H_SIZE, n_ptr->addr); | 322 | INT_H_SIZE, n_ptr->addr); |
322 | msg_set_non_seq(msg, 1); | 323 | msg_set_non_seq(msg, 1); |
323 | msg_set_mc_netid(msg, tn->net_id); | 324 | msg_set_mc_netid(msg, tn->net_id); |
@@ -954,6 +955,8 @@ int tipc_bclink_init(struct net *net) | |||
954 | bcl->bearer_id = MAX_BEARERS; | 955 | bcl->bearer_id = MAX_BEARERS; |
955 | rcu_assign_pointer(tn->bearer_list[MAX_BEARERS], &bcbearer->bearer); | 956 | rcu_assign_pointer(tn->bearer_list[MAX_BEARERS], &bcbearer->bearer); |
956 | bcl->state = WORKING_WORKING; | 957 | bcl->state = WORKING_WORKING; |
958 | bcl->pmsg = (struct tipc_msg *)&bcl->proto_msg; | ||
959 | msg_set_prevnode(bcl->pmsg, tn->own_addr); | ||
957 | strlcpy(bcl->name, tipc_bclink_name, TIPC_MAX_LINK_NAME); | 960 | strlcpy(bcl->name, tipc_bclink_name, TIPC_MAX_LINK_NAME); |
958 | tn->bcbearer = bcbearer; | 961 | tn->bcbearer = bcbearer; |
959 | tn->bclink = bclink; | 962 | tn->bclink = bclink; |