|
@@ -1943,11 +1943,10 @@ static int afiucv_hs_callback_syn(struct sock *sk, struct sk_buff *skb)
|
|
sk_acceptq_is_full(sk) ||
|
|
sk_acceptq_is_full(sk) ||
|
|
!nsk) {
|
|
!nsk) {
|
|
/* error on server socket - connection refused */
|
|
/* error on server socket - connection refused */
|
|
- if (nsk)
|
|
|
|
- sk_free(nsk);
|
|
|
|
afiucv_swap_src_dest(skb);
|
|
afiucv_swap_src_dest(skb);
|
|
trans_hdr->flags = AF_IUCV_FLAG_SYN | AF_IUCV_FLAG_FIN;
|
|
trans_hdr->flags = AF_IUCV_FLAG_SYN | AF_IUCV_FLAG_FIN;
|
|
err = dev_queue_xmit(skb);
|
|
err = dev_queue_xmit(skb);
|
|
|
|
+ iucv_sock_kill(nsk);
|
|
bh_unlock_sock(sk);
|
|
bh_unlock_sock(sk);
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|