diff options
Diffstat (limited to 'net/tipc/discover.c')
| -rw-r--r-- | net/tipc/discover.c | 14 | 
1 files changed, 6 insertions, 8 deletions
diff --git a/net/tipc/discover.c b/net/tipc/discover.c index 5d643e5721e..1657f0e795f 100644 --- a/net/tipc/discover.c +++ b/net/tipc/discover.c @@ -120,9 +120,8 @@ static struct sk_buff *tipc_disc_init_msg(u32 type,  	if (buf) {  		msg = buf_msg(buf); -		msg_init(msg, LINK_CONFIG, type, TIPC_OK, DSC_H_SIZE, -			 dest_domain); -		msg_set_non_seq(msg); +		msg_init(msg, LINK_CONFIG, type, DSC_H_SIZE, dest_domain); +		msg_set_non_seq(msg, 1);  		msg_set_req_links(msg, req_links);  		msg_set_dest_domain(msg, dest_domain);  		msg_set_bc_netid(msg, tipc_net_id); @@ -156,11 +155,11 @@ static void disc_dupl_alert(struct bearer *b_ptr, u32 node_addr,  /**   * tipc_disc_recv_msg - handle incoming link setup message (request or response)   * @buf: buffer containing message + * @b_ptr: bearer that message arrived on   */ -void tipc_disc_recv_msg(struct sk_buff *buf) +void tipc_disc_recv_msg(struct sk_buff *buf, struct bearer *b_ptr)  { -	struct bearer *b_ptr = (struct bearer *)TIPC_SKB_CB(buf)->handle;  	struct link *link;  	struct tipc_media_addr media_addr;  	struct tipc_msg *msg = buf_msg(buf); @@ -200,9 +199,8 @@ void tipc_disc_recv_msg(struct sk_buff *buf)  		dbg(" in own cluster\n");  		if (n_ptr == NULL) {  			n_ptr = tipc_node_create(orig); -		} -		if (n_ptr == NULL) { -			return; +			if (!n_ptr) +				return;  		}  		spin_lock_bh(&n_ptr->lock);  		link = n_ptr->links[b_ptr->identity];  |