]> Pileus Git - ~andy/linux/blobdiff - net/appletalk/ddp.c
Merge branch 'master' into upstream.
[~andy/linux] / net / appletalk / ddp.c
index 206e771e82d17ce77b7c99447f12437f4fd300c5..956a5302002a3dbc1059d0c50511102159648cdd 100644 (file)
@@ -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;
 }