summaryrefslogtreecommitdiffstats
path: root/net/smc/af_smc.c
diff options
context:
space:
mode:
authorDave Airlie2018-03-28 06:30:41 +0200
committerDave Airlie2018-03-28 06:30:41 +0200
commit2b4f44eec2be2688511c2b617d0e1b4f94c45ba4 (patch)
tree533c03602f4ae6d6404db6fa56c88e6f83e1bebe /net/smc/af_smc.c
parentMerge branch 'drm-next-4.17' of git://people.freedesktop.org/~agd5f/linux int... (diff)
parentLinux 4.16-rc7 (diff)
downloadkernel-qcow2-linux-2b4f44eec2be2688511c2b617d0e1b4f94c45ba4.tar.gz
kernel-qcow2-linux-2b4f44eec2be2688511c2b617d0e1b4f94c45ba4.tar.xz
kernel-qcow2-linux-2b4f44eec2be2688511c2b617d0e1b4f94c45ba4.zip
Backmerge tag 'v4.16-rc7' into drm-next
Linux 4.16-rc7 This was requested by Daniel, and things were getting a bit hard to reconcile, most of the conflicts were trivial though.
Diffstat (limited to 'net/smc/af_smc.c')
-rw-r--r--net/smc/af_smc.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index da1a5cdefd13..1e0d780855c3 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -978,10 +978,6 @@ out:
lsmc->clcsock = NULL;
}
release_sock(lsk);
- /* no more listening, wake up smc_close_wait_listen_clcsock and
- * accept
- */
- lsk->sk_state_change(lsk);
sock_put(&lsmc->sk); /* sock_hold in smc_listen */
}
@@ -1406,8 +1402,10 @@ static int smc_create(struct net *net, struct socket *sock, int protocol,
smc->use_fallback = false; /* assume rdma capability first */
rc = sock_create_kern(net, PF_INET, SOCK_STREAM,
IPPROTO_TCP, &smc->clcsock);
- if (rc)
+ if (rc) {
sk_common_release(sk);
+ goto out;
+ }
smc->sk.sk_sndbuf = max(smc->clcsock->sk->sk_sndbuf, SMC_BUF_MIN_SIZE);
smc->sk.sk_rcvbuf = max(smc->clcsock->sk->sk_rcvbuf, SMC_BUF_MIN_SIZE);