From f55b564054e35dcd171e1191a477327528271f95 Mon Sep 17 00:00:00 2001 From: Allan Stephens Date: Wed, 1 Jun 2011 15:48:42 -0400 Subject: [PATCH] tipc: Don't create payload message using connection protocol routine Modifies the logic that creates a connection termination payload message so that it no longer (mis)uses a routine that creates a connection protocol message. The revised code is now more easily understood, and avoids setting several fields that are either not present in payload messages or were being set more than once. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker --- net/tipc/port.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/net/tipc/port.c b/net/tipc/port.c index 1b20b963a2fc..ab0a8e97e315 100644 --- a/net/tipc/port.c +++ b/net/tipc/port.c @@ -539,14 +539,15 @@ void tipc_port_recv_proto_msg(struct sk_buff *buf) if (!p_ptr || !p_ptr->connected || (port_peernode(p_ptr) != orignode) || (port_peerport(p_ptr) != origport)) { - r_buf = port_build_proto_msg(origport, - orignode, - destport, - tipc_own_addr, - TIPC_HIGH_IMPORTANCE, - TIPC_CONN_MSG, - TIPC_ERR_NO_PORT, - 0); + r_buf = tipc_buf_acquire(BASIC_H_SIZE); + if (r_buf) { + msg = buf_msg(r_buf); + tipc_msg_init(msg, TIPC_HIGH_IMPORTANCE, TIPC_CONN_MSG, + BASIC_H_SIZE, orignode); + msg_set_errcode(msg, TIPC_ERR_NO_PORT); + msg_set_origport(msg, destport); + msg_set_destport(msg, origport); + } if (p_ptr) tipc_port_unlock(p_ptr); goto exit; -- 2.20.1