|
@@ -188,6 +188,7 @@ rxrpc_alloc_client_connection(struct rxrpc_conn_parameters *cp, gfp_t gfp)
|
|
|
conn->params = *cp;
|
|
|
conn->out_clientflag = RXRPC_CLIENT_INITIATED;
|
|
|
conn->state = RXRPC_CONN_CLIENT;
|
|
|
+ conn->service_id = cp->service_id;
|
|
|
|
|
|
ret = rxrpc_get_client_connection_id(conn, gfp);
|
|
|
if (ret < 0)
|
|
@@ -343,6 +344,7 @@ static int rxrpc_get_client_conn(struct rxrpc_call *call,
|
|
|
if (cp->exclusive) {
|
|
|
call->conn = candidate;
|
|
|
call->security_ix = candidate->security_ix;
|
|
|
+ call->service_id = candidate->service_id;
|
|
|
_leave(" = 0 [exclusive %d]", candidate->debug_id);
|
|
|
return 0;
|
|
|
}
|
|
@@ -392,6 +394,7 @@ candidate_published:
|
|
|
set_bit(RXRPC_CONN_IN_CLIENT_CONNS, &candidate->flags);
|
|
|
call->conn = candidate;
|
|
|
call->security_ix = candidate->security_ix;
|
|
|
+ call->service_id = candidate->service_id;
|
|
|
spin_unlock(&local->client_conns_lock);
|
|
|
_leave(" = 0 [new %d]", candidate->debug_id);
|
|
|
return 0;
|
|
@@ -413,6 +416,7 @@ found_extant_conn:
|
|
|
spin_lock(&conn->channel_lock);
|
|
|
call->conn = conn;
|
|
|
call->security_ix = conn->security_ix;
|
|
|
+ call->service_id = conn->service_id;
|
|
|
list_add(&call->chan_wait_link, &conn->waiting_calls);
|
|
|
spin_unlock(&conn->channel_lock);
|
|
|
_leave(" = 0 [extant %d]", conn->debug_id);
|