rxrpc: Add missing unlock in rxrpc_call_accept()
authorDavid Howells <dhowells@redhat.com>
Tue, 13 Sep 2016 21:36:22 +0000 (22:36 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 13 Sep 2016 21:36:22 +0000 (22:36 +0100)
Add a missing unlock in rxrpc_call_accept() in the path taken if there's no
call to wake up.

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/call_accept.c

index b8acec0d596e3b2e71ff77524cdf8cdf2b81d3d0..06e328f6b0f08d12b5a1933ad69bfde647d9aaa9 100644 (file)
@@ -425,9 +425,11 @@ struct rxrpc_call *rxrpc_accept_call(struct rxrpc_sock *rx,
 
        write_lock(&rx->call_lock);
 
-       ret = -ENODATA;
-       if (list_empty(&rx->to_be_accepted))
-               goto out;
+       if (list_empty(&rx->to_be_accepted)) {
+               write_unlock(&rx->call_lock);
+               kleave(" = -ENODATA [empty]");
+               return ERR_PTR(-ENODATA);
+       }
 
        /* check the user ID isn't already in use */
        pp = &rx->calls.rb_node;