|
@@ -284,13 +284,13 @@ struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *sock,
|
|
if (IS_ERR(trans)) {
|
|
if (IS_ERR(trans)) {
|
|
call = ERR_CAST(trans);
|
|
call = ERR_CAST(trans);
|
|
trans = NULL;
|
|
trans = NULL;
|
|
- goto out;
|
|
|
|
|
|
+ goto out_notrans;
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
trans = rx->trans;
|
|
trans = rx->trans;
|
|
if (!trans) {
|
|
if (!trans) {
|
|
call = ERR_PTR(-ENOTCONN);
|
|
call = ERR_PTR(-ENOTCONN);
|
|
- goto out;
|
|
|
|
|
|
+ goto out_notrans;
|
|
}
|
|
}
|
|
atomic_inc(&trans->usage);
|
|
atomic_inc(&trans->usage);
|
|
}
|
|
}
|
|
@@ -315,6 +315,7 @@ struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *sock,
|
|
rxrpc_put_bundle(trans, bundle);
|
|
rxrpc_put_bundle(trans, bundle);
|
|
out:
|
|
out:
|
|
rxrpc_put_transport(trans);
|
|
rxrpc_put_transport(trans);
|
|
|
|
+out_notrans:
|
|
release_sock(&rx->sk);
|
|
release_sock(&rx->sk);
|
|
_leave(" = %p", call);
|
|
_leave(" = %p", call);
|
|
return call;
|
|
return call;
|