Lines Matching refs:conn
124 call->conn->trans->local, addr_size, in rxrpc_call_hash_add()
294 call->epoch = call->conn->epoch; in rxrpc_alloc_client_call()
295 call->service_id = call->conn->service_id; in rxrpc_alloc_client_call()
296 call->in_clientflag = call->conn->in_clientflag; in rxrpc_alloc_client_call()
300 spin_lock(&call->conn->trans->peer->lock); in rxrpc_alloc_client_call()
301 list_add(&call->error_link, &call->conn->trans->peer->error_targets); in rxrpc_alloc_client_call()
302 spin_unlock(&call->conn->trans->peer->lock); in rxrpc_alloc_client_call()
390 _net("CALL new %d on CONN %d", call->debug_id, call->conn->debug_id); in rxrpc_get_client_call()
416 struct rxrpc_connection *conn, in rxrpc_incoming_call() argument
424 _enter(",%d,,%x", conn->debug_id, gfp); in rxrpc_incoming_call()
433 candidate->conn = conn; in rxrpc_incoming_call()
439 if (conn->security_ix > 0) in rxrpc_incoming_call()
442 write_lock_bh(&conn->lock); in rxrpc_incoming_call()
445 call = conn->channels[candidate->channel]; in rxrpc_incoming_call()
450 ASSERTCMP(call->conn, ==, conn); in rxrpc_incoming_call()
474 conn->channels[call->channel] = NULL; in rxrpc_incoming_call()
476 write_unlock_bh(&conn->lock); in rxrpc_incoming_call()
486 p = &conn->calls.rb_node; in rxrpc_incoming_call()
508 rb_insert_color(&call->conn_node, &conn->calls); in rxrpc_incoming_call()
509 conn->channels[call->channel] = call; in rxrpc_incoming_call()
511 atomic_inc(&conn->usage); in rxrpc_incoming_call()
512 write_unlock_bh(&conn->lock); in rxrpc_incoming_call()
514 spin_lock(&conn->trans->peer->lock); in rxrpc_incoming_call()
515 list_add(&call->error_link, &conn->trans->peer->error_targets); in rxrpc_incoming_call()
516 spin_unlock(&conn->trans->peer->lock); in rxrpc_incoming_call()
524 call->local = conn->trans->local; in rxrpc_incoming_call()
528 conn->trans->peer->srx.transport.sin.sin_addr.s_addr; in rxrpc_incoming_call()
532 conn->trans->peer->srx.transport.sin6.sin6_addr.in6_u.u6_addr8, in rxrpc_incoming_call()
538 call->epoch = conn->epoch; in rxrpc_incoming_call()
539 call->service_id = conn->service_id; in rxrpc_incoming_call()
540 call->in_clientflag = conn->in_clientflag; in rxrpc_incoming_call()
544 _net("CALL incoming %d on CONN %d", call->debug_id, call->conn->debug_id); in rxrpc_incoming_call()
552 write_unlock_bh(&conn->lock); in rxrpc_incoming_call()
558 write_unlock_bh(&conn->lock); in rxrpc_incoming_call()
564 write_unlock_bh(&conn->lock); in rxrpc_incoming_call()
615 struct rxrpc_connection *conn = call->conn; in rxrpc_release_call() local
631 _debug("RELEASE CALL %p (%d CONN %p)", call, call->debug_id, conn); in rxrpc_release_call()
648 spin_lock(&conn->trans->client_lock); in rxrpc_release_call()
649 write_lock_bh(&conn->lock); in rxrpc_release_call()
652 if (conn->channels[call->channel] == call) in rxrpc_release_call()
653 conn->channels[call->channel] = NULL; in rxrpc_release_call()
655 if (conn->out_clientflag && conn->bundle) { in rxrpc_release_call()
656 conn->avail_calls++; in rxrpc_release_call()
657 switch (conn->avail_calls) { in rxrpc_release_call()
659 list_move_tail(&conn->bundle_link, in rxrpc_release_call()
660 &conn->bundle->avail_conns); in rxrpc_release_call()
662 ASSERT(conn->channels[0] == NULL || in rxrpc_release_call()
663 conn->channels[1] == NULL || in rxrpc_release_call()
664 conn->channels[2] == NULL || in rxrpc_release_call()
665 conn->channels[3] == NULL); in rxrpc_release_call()
668 list_move_tail(&conn->bundle_link, in rxrpc_release_call()
669 &conn->bundle->unused_conns); in rxrpc_release_call()
670 ASSERT(conn->channels[0] == NULL && in rxrpc_release_call()
671 conn->channels[1] == NULL && in rxrpc_release_call()
672 conn->channels[2] == NULL && in rxrpc_release_call()
673 conn->channels[3] == NULL); in rxrpc_release_call()
677 conn->avail_calls); in rxrpc_release_call()
682 spin_unlock(&conn->trans->client_lock); in rxrpc_release_call()
693 write_unlock_bh(&conn->lock); in rxrpc_release_call()
851 if (call->conn) { in rxrpc_cleanup_call()
852 spin_lock(&call->conn->trans->peer->lock); in rxrpc_cleanup_call()
854 spin_unlock(&call->conn->trans->peer->lock); in rxrpc_cleanup_call()
856 write_lock_bh(&call->conn->lock); in rxrpc_cleanup_call()
857 rb_erase(&call->conn_node, &call->conn->calls); in rxrpc_cleanup_call()
858 write_unlock_bh(&call->conn->lock); in rxrpc_cleanup_call()
859 rxrpc_put_connection(call->conn); in rxrpc_cleanup_call()
903 call, atomic_read(&call->usage), call->channel, call->conn); in rxrpc_destroy_call()