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 <dhowe...@redhat.com>
---

 net/rxrpc/call_accept.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/net/rxrpc/call_accept.c b/net/rxrpc/call_accept.c
index b8acec0d596e..06e328f6b0f0 100644
--- a/net/rxrpc/call_accept.c
+++ b/net/rxrpc/call_accept.c
@@ -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;

Reply via email to