X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2Fappletalk%2Fddp.c;h=956a5302002a3dbc1059d0c50511102159648cdd;hb=8db72a7d7268630e04ec285fbd3e90733b2eddf9;hp=206e771e82d17ce77b7c99447f12437f4fd300c5;hpb=73939bb56acef1c9e776a10f0aeea0456d6815f6;p=~andy%2Flinux diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c index 206e771e82d..956a5302002 100644 --- a/net/appletalk/ddp.c +++ b/net/appletalk/ddp.c @@ -1051,16 +1051,17 @@ static int atalk_release(struct socket *sock) { struct sock *sk = sock->sk; - sock_hold(sk); - lock_sock(sk); if (sk) { + sock_hold(sk); + lock_sock(sk); + sock_orphan(sk); sock->sk = NULL; atalk_destroy_socket(sk); - } - release_sock(sk); - sock_put(sk); + release_sock(sk); + sock_put(sk); + } return 0; }