diff options
Diffstat (limited to 'net/x25/af_x25.c')
-rw-r--r-- | net/x25/af_x25.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 6ba67c523c16..bcb091f713ec 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c | |||
@@ -555,13 +555,11 @@ static struct sock *x25_make_new(struct sock *osk) | |||
555 | x25 = x25_sk(sk); | 555 | x25 = x25_sk(sk); |
556 | 556 | ||
557 | sk->sk_type = osk->sk_type; | 557 | sk->sk_type = osk->sk_type; |
558 | sk->sk_socket = osk->sk_socket; | ||
559 | sk->sk_priority = osk->sk_priority; | 558 | sk->sk_priority = osk->sk_priority; |
560 | sk->sk_protocol = osk->sk_protocol; | 559 | sk->sk_protocol = osk->sk_protocol; |
561 | sk->sk_rcvbuf = osk->sk_rcvbuf; | 560 | sk->sk_rcvbuf = osk->sk_rcvbuf; |
562 | sk->sk_sndbuf = osk->sk_sndbuf; | 561 | sk->sk_sndbuf = osk->sk_sndbuf; |
563 | sk->sk_state = TCP_ESTABLISHED; | 562 | sk->sk_state = TCP_ESTABLISHED; |
564 | sk->sk_sleep = osk->sk_sleep; | ||
565 | sk->sk_backlog_rcv = osk->sk_backlog_rcv; | 563 | sk->sk_backlog_rcv = osk->sk_backlog_rcv; |
566 | sock_copy_flags(sk, osk); | 564 | sock_copy_flags(sk, osk); |
567 | 565 | ||
@@ -808,14 +806,12 @@ static int x25_accept(struct socket *sock, struct socket *newsock, int flags) | |||
808 | if (!skb->sk) | 806 | if (!skb->sk) |
809 | goto out2; | 807 | goto out2; |
810 | newsk = skb->sk; | 808 | newsk = skb->sk; |
811 | newsk->sk_socket = newsock; | 809 | sock_graft(newsk, newsock); |
812 | newsk->sk_sleep = &newsock->wait; | ||
813 | 810 | ||
814 | /* Now attach up the new socket */ | 811 | /* Now attach up the new socket */ |
815 | skb->sk = NULL; | 812 | skb->sk = NULL; |
816 | kfree_skb(skb); | 813 | kfree_skb(skb); |
817 | sk->sk_ack_backlog--; | 814 | sk->sk_ack_backlog--; |
818 | newsock->sk = newsk; | ||
819 | newsock->state = SS_CONNECTED; | 815 | newsock->state = SS_CONNECTED; |
820 | rc = 0; | 816 | rc = 0; |
821 | out2: | 817 | out2: |