diff options
Diffstat (limited to 'net/tipc/port.c')
| -rw-r--r-- | net/tipc/port.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/net/tipc/port.c b/net/tipc/port.c index d91efc69e6f..ba3268b8da4 100644 --- a/net/tipc/port.c +++ b/net/tipc/port.c @@ -400,15 +400,16 @@ int tipc_reject_msg(struct sk_buff *buf, u32 err)  	/* send self-abort message when rejecting on a connected port */  	if (msg_connected(msg)) { -		struct sk_buff *abuf = NULL;  		struct tipc_port *p_ptr = tipc_port_lock(msg_destport(msg));  		if (p_ptr) { +			struct sk_buff *abuf = NULL; +  			if (p_ptr->connected)  				abuf = port_build_self_abort_msg(p_ptr, err);  			tipc_port_unlock(p_ptr); +			tipc_net_route_msg(abuf);  		} -		tipc_net_route_msg(abuf);  	}  	/* send returned message & dispose of rejected message */  |