aboutsummaryrefslogtreecommitdiffstats
path: root/net/netrom/af_netrom.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/netrom/af_netrom.c')
-rw-r--r--net/netrom/af_netrom.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index 4bae8b998ca..74884f4a625 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -475,13 +475,11 @@ static struct sock *nr_make_new(struct sock *osk)
475 sock_init_data(NULL, sk); 475 sock_init_data(NULL, sk);
476 476
477 sk->sk_type = osk->sk_type; 477 sk->sk_type = osk->sk_type;
478 sk->sk_socket = osk->sk_socket;
479 sk->sk_priority = osk->sk_priority; 478 sk->sk_priority = osk->sk_priority;
480 sk->sk_protocol = osk->sk_protocol; 479 sk->sk_protocol = osk->sk_protocol;
481 sk->sk_rcvbuf = osk->sk_rcvbuf; 480 sk->sk_rcvbuf = osk->sk_rcvbuf;
482 sk->sk_sndbuf = osk->sk_sndbuf; 481 sk->sk_sndbuf = osk->sk_sndbuf;
483 sk->sk_state = TCP_ESTABLISHED; 482 sk->sk_state = TCP_ESTABLISHED;
484 sk->sk_sleep = osk->sk_sleep;
485 sock_copy_flags(sk, osk); 483 sock_copy_flags(sk, osk);
486 484
487 skb_queue_head_init(&nr->ack_queue); 485 skb_queue_head_init(&nr->ack_queue);
@@ -538,11 +536,9 @@ static int nr_release(struct socket *sock)
538 sk->sk_state_change(sk); 536 sk->sk_state_change(sk);
539 sock_orphan(sk); 537 sock_orphan(sk);
540 sock_set_flag(sk, SOCK_DESTROY); 538 sock_set_flag(sk, SOCK_DESTROY);
541 sk->sk_socket = NULL;
542 break; 539 break;
543 540
544 default: 541 default:
545 sk->sk_socket = NULL;
546 break; 542 break;
547 } 543 }
548 544
@@ -810,13 +806,11 @@ static int nr_accept(struct socket *sock, struct socket *newsock, int flags)
810 goto out_release; 806 goto out_release;
811 807
812 newsk = skb->sk; 808 newsk = skb->sk;
813 newsk->sk_socket = newsock; 809 sock_graft(newsk, newsock);
814 newsk->sk_sleep = &newsock->wait;
815 810
816 /* Now attach up the new socket */ 811 /* Now attach up the new socket */
817 kfree_skb(skb); 812 kfree_skb(skb);
818 sk_acceptq_removed(sk); 813 sk_acceptq_removed(sk);
819 newsock->sk = newsk;
820 814
821out_release: 815out_release:
822 release_sock(sk); 816 release_sock(sk);