diff --git a/[refs] b/[refs] index 50c135abaa07..d787e2ac490e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c37947459172a02691ccd48cb967e8b605d38c56 +refs/heads/master: c100c8f4c3c6f2a407bdbaaad2c4f1062e6a473a diff --git a/trunk/net/appletalk/ddp.c b/trunk/net/appletalk/ddp.c index 206e771e82d1..956a5302002a 100644 --- a/trunk/net/appletalk/ddp.c +++ b/trunk/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; }