diff options
author | Jason Gunthorpe <jgg@nvidia.com> | 2020-09-17 15:12:22 -0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2020-09-18 10:31:45 -0300 |
commit | 5dee5872f87552cfb173c899d35fc1413c2aa77f (patch) | |
tree | 273a8551247785dbec22d1e7c55e2b636e1c9e8e /net/tipc/socket.c | |
parent | c0a6b5ecc5b7dd028c2921415ea036074a8f8b00 (diff) | |
parent | 376ceb31ff879c2ee6b48eef841d6fa7720f6f43 (diff) | |
download | linux-next-5dee5872f87552cfb173c899d35fc1413c2aa77f.tar.gz |
Merge branch 'mlx5_active_speed' into rdma.git for-next
Leon Romanovsky says:
====================
IBTA declares speed as 16 bits, but kernel stores it in u8. This series
fixes in-kernel declaration while keeping external interface intact.
====================
Based on the mlx5-next branch at
git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux
due to dependencies.
* branch 'mlx5_active_speed':
RDMA: Fix link active_speed size
RDMA/mlx5: Delete duplicated mlx5_ptys_width enum
net/mlx5: Refactor query port speed functions
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r-- | net/tipc/socket.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 2679e97e0389..ebd280e767bd 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -2771,18 +2771,21 @@ static int tipc_shutdown(struct socket *sock, int how) trace_tipc_sk_shutdown(sk, NULL, TIPC_DUMP_ALL, " "); __tipc_shutdown(sock, TIPC_CONN_SHUTDOWN); - sk->sk_shutdown = SEND_SHUTDOWN; + if (tipc_sk_type_connectionless(sk)) + sk->sk_shutdown = SHUTDOWN_MASK; + else + sk->sk_shutdown = SEND_SHUTDOWN; if (sk->sk_state == TIPC_DISCONNECTING) { /* Discard any unreceived messages */ __skb_queue_purge(&sk->sk_receive_queue); - /* Wake up anyone sleeping in poll */ - sk->sk_state_change(sk); res = 0; } else { res = -ENOTCONN; } + /* Wake up anyone sleeping in poll. */ + sk->sk_state_change(sk); release_sock(sk); return res; |