Lines Matching defs:call

89  * When searching for a service call, if we find a peer but no connection, we
90 * return that through *_peer in case we need to create a new service call.
149 * Disconnect a call and clear any channel it occupies when that call
151 * call's ref on the connection.
154 struct rxrpc_call *call)
157 &conn->channels[call->cid & RXRPC_CHANNELMASK];
159 _enter("%d,%x", conn->debug_id, call->cid);
161 if (chan->call == call) {
162 /* Save the result of the call so that we can repeat it if necessary
163 * through the channel, whilst disposing of the actual call record.
165 trace_rxrpc_disconnect_call(call);
166 switch (call->completion) {
168 chan->last_seq = call->rx_highest_seq;
172 chan->last_abort = call->abort_code;
183 chan->call = NULL;
190 * Disconnect a call and clear any channel it occupies when that call
193 void rxrpc_disconnect_call(struct rxrpc_call *call)
195 struct rxrpc_connection *conn = call->conn;
197 set_bit(RXRPC_CALL_DISCONNECTED, &call->flags);
198 rxrpc_see_call(call, rxrpc_call_see_disconnected);
200 call->peer->cong_ssthresh = call->cong_ssthresh;
202 if (!hlist_unhashed(&call->error_link)) {
203 spin_lock(&call->peer->lock);
204 hlist_del_init(&call->error_link);
205 spin_unlock(&call->peer->lock);
208 if (rxrpc_is_client_call(call)) {
209 rxrpc_disconnect_client_call(call->bundle, call);
211 __rxrpc_disconnect_call(conn, call);
218 rxrpc_put_call(call, rxrpc_call_put_io_thread);
314 ASSERT(!conn->channels[0].call &&
315 !conn->channels[1].call &&
316 !conn->channels[2].call &&
317 !conn->channels[3].call);