aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/tipc/port.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/net/tipc/port.c b/net/tipc/port.c
index 616c72fb9234..dc7f916b2e10 100644
--- a/net/tipc/port.c
+++ b/net/tipc/port.c
@@ -1270,10 +1270,14 @@ int tipc_send2name(u32 ref, struct tipc_name const *name, unsigned int domain,
1270 if (likely(destnode == tipc_own_addr)) 1270 if (likely(destnode == tipc_own_addr))
1271 res = tipc_port_recv_sections(p_ptr, num_sect, 1271 res = tipc_port_recv_sections(p_ptr, num_sect,
1272 msg_sect, total_len); 1272 msg_sect, total_len);
1273 else 1273 else if (tipc_own_addr)
1274 res = tipc_link_send_sections_fast(p_ptr, msg_sect, 1274 res = tipc_link_send_sections_fast(p_ptr, msg_sect,
1275 num_sect, total_len, 1275 num_sect, total_len,
1276 destnode); 1276 destnode);
1277 else
1278 res = tipc_port_reject_sections(p_ptr, msg, msg_sect,
1279 num_sect, total_len,
1280 TIPC_ERR_NO_NODE);
1277 if (likely(res != -ELINKCONG)) { 1281 if (likely(res != -ELINKCONG)) {
1278 if (res > 0) 1282 if (res > 0)
1279 p_ptr->sent++; 1283 p_ptr->sent++;
@@ -1314,9 +1318,12 @@ int tipc_send2port(u32 ref, struct tipc_portid const *dest,
1314 if (dest->node == tipc_own_addr) 1318 if (dest->node == tipc_own_addr)
1315 res = tipc_port_recv_sections(p_ptr, num_sect, msg_sect, 1319 res = tipc_port_recv_sections(p_ptr, num_sect, msg_sect,
1316 total_len); 1320 total_len);
1317 else 1321 else if (tipc_own_addr)
1318 res = tipc_link_send_sections_fast(p_ptr, msg_sect, num_sect, 1322 res = tipc_link_send_sections_fast(p_ptr, msg_sect, num_sect,
1319 total_len, dest->node); 1323 total_len, dest->node);
1324 else
1325 res = tipc_port_reject_sections(p_ptr, msg, msg_sect, num_sect,
1326 total_len, TIPC_ERR_NO_NODE);
1320 if (likely(res != -ELINKCONG)) { 1327 if (likely(res != -ELINKCONG)) {
1321 if (res > 0) 1328 if (res > 0)
1322 p_ptr->sent++; 1329 p_ptr->sent++;