diff options
Diffstat (limited to 'net/iucv/af_iucv.c')
-rw-r--r-- | net/iucv/af_iucv.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c index 60f5c20d510a..7a95fa4a3de1 100644 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c | |||
@@ -1943,11 +1943,10 @@ static int afiucv_hs_callback_syn(struct sock *sk, struct sk_buff *skb) | |||
1943 | sk_acceptq_is_full(sk) || | 1943 | sk_acceptq_is_full(sk) || |
1944 | !nsk) { | 1944 | !nsk) { |
1945 | /* error on server socket - connection refused */ | 1945 | /* error on server socket - connection refused */ |
1946 | if (nsk) | ||
1947 | sk_free(nsk); | ||
1948 | afiucv_swap_src_dest(skb); | 1946 | afiucv_swap_src_dest(skb); |
1949 | trans_hdr->flags = AF_IUCV_FLAG_SYN | AF_IUCV_FLAG_FIN; | 1947 | trans_hdr->flags = AF_IUCV_FLAG_SYN | AF_IUCV_FLAG_FIN; |
1950 | err = dev_queue_xmit(skb); | 1948 | err = dev_queue_xmit(skb); |
1949 | iucv_sock_kill(nsk); | ||
1951 | bh_unlock_sock(sk); | 1950 | bh_unlock_sock(sk); |
1952 | goto out; | 1951 | goto out; |
1953 | } | 1952 | } |