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:
parent
796c75d0d3
commit
7410f967ba
1 changed files with 3 additions and 4 deletions
|
@ -1082,6 +1082,9 @@ again:
|
||||||
*/
|
*/
|
||||||
res = tipc_msg_build(hdr, msg_sect, num_sect, total_len,
|
res = tipc_msg_build(hdr, msg_sect, num_sect, total_len,
|
||||||
sender->max_pkt, &buf);
|
sender->max_pkt, &buf);
|
||||||
|
/* Exit if build request was invalid */
|
||||||
|
if (unlikely(res < 0))
|
||||||
|
return res;
|
||||||
|
|
||||||
read_lock_bh(&tipc_net_lock);
|
read_lock_bh(&tipc_net_lock);
|
||||||
node = tipc_node_find(destaddr);
|
node = tipc_node_find(destaddr);
|
||||||
|
@ -1098,10 +1101,6 @@ exit:
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Exit if build request was invalid */
|
|
||||||
if (unlikely(res < 0))
|
|
||||||
goto exit;
|
|
||||||
|
|
||||||
/* Exit if link (or bearer) is congested */
|
/* Exit if link (or bearer) is congested */
|
||||||
if (link_congested(l_ptr) ||
|
if (link_congested(l_ptr) ||
|
||||||
tipc_bearer_blocked(l_ptr->b_ptr)) {
|
tipc_bearer_blocked(l_ptr->b_ptr)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue