From 1e9d47a948f44af4bb040e10a3a852b6bc3d6a90 Mon Sep 17 00:00:00 2001 From: Jon Paul Maloy Date: Thu, 13 Feb 2014 17:29:13 -0500 Subject: [PATCH] tipc: more cleanup of tunnelling reception function We simplify and slim down the code in function tipc_tunnel_rcv() No impact on the users of this function. Signed-off-by: Jon Maloy Signed-off-by: David S. Miller --- net/tipc/link.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/net/tipc/link.c b/net/tipc/link.c index f9f90681a59d..3136788799d8 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -2180,9 +2180,10 @@ static int tipc_link_tunnel_rcv(struct tipc_node *n_ptr, struct sk_buff *tunnel_buf = *buf; struct tipc_link *dest_link; struct tipc_msg *tunnel_msg = buf_msg(tunnel_buf); - u32 msg_typ = msg_type(tunnel_msg); u32 bearer_id = msg_bearer_id(tunnel_msg); + *buf = NULL; + if (bearer_id >= MAX_BEARERS) goto exit; @@ -2190,24 +2191,16 @@ static int tipc_link_tunnel_rcv(struct tipc_node *n_ptr, if (!dest_link) goto exit; - if (msg_typ == DUPLICATE_MSG) { + if (msg_type(tunnel_msg) == DUPLICATE_MSG) tipc_link_dup_rcv(dest_link, tunnel_buf); - goto exit; - } - - if (msg_type(tunnel_msg) == ORIGINAL_MSG) { + else if (msg_type(tunnel_msg) == ORIGINAL_MSG) *buf = tipc_link_failover_rcv(dest_link, tunnel_buf); + else + pr_warn("%sunknown tunnel pkt received\n", link_co_err); - /* Do we have a buffer/buffer chain to return? */ - if (*buf != NULL) { - kfree_skb(tunnel_buf); - return 1; - } - } exit: - *buf = NULL; kfree_skb(tunnel_buf); - return 0; + return *buf != NULL; } /* -- 2.30.2