]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/appletalk/ddp.c
Merge branch 'topic/lola' into for-linus
[mv-sheeva.git] / net / appletalk / ddp.c
index 3d4f4b04340661e94f25c35a8c123e884e8d8922..956a5302002a3dbc1059d0c50511102159648cdd 100644 (file)
@@ -1051,13 +1051,17 @@ static int atalk_release(struct socket *sock)
 {
        struct sock *sk = sock->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);
        return 0;
 }