tipc: make tipc_link_send_sections_fast exit earlier

Once message build request function returns invalid code, the
process of sending message cannot continue. So in case of message
build failure, tipc_link_send_sections_fast() should return
immediately.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ying Xue 2013-06-17 10:54:49 -04:00 committed by David S. Miller
parent 796c75d0d3
commit 7410f967ba

View File

@ -1082,6 +1082,9 @@ int tipc_link_send_sections_fast(struct tipc_port *sender,
*/
res = tipc_msg_build(hdr, msg_sect, num_sect, total_len,
sender->max_pkt, &buf);
/* Exit if build request was invalid */
if (unlikely(res < 0))
return res;
read_lock_bh(&tipc_net_lock);
node = tipc_node_find(destaddr);
@ -1098,10 +1101,6 @@ int tipc_link_send_sections_fast(struct tipc_port *sender,
return res;
}
/* Exit if build request was invalid */
if (unlikely(res < 0))
goto exit;
/* Exit if link (or bearer) is congested */
if (link_congested(l_ptr) ||
tipc_bearer_blocked(l_ptr->b_ptr)) {