Browse Source

rxrpc: Add missing unlock in rxrpc_call_accept()

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>
David Howells 9 years ago
parent
commit
b25de36053
1 changed files with 5 additions and 3 deletions
  1. 5 3
      net/rxrpc/call_accept.c

+ 5 - 3
net/rxrpc/call_accept.c

@@ -425,9 +425,11 @@ struct rxrpc_call *rxrpc_accept_call(struct rxrpc_sock *rx,
 
 
 	write_lock(&rx->call_lock);
 	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 */
 	/* check the user ID isn't already in use */
 	pp = &rx->calls.rb_node;
 	pp = &rx->calls.rb_node;