Lines Matching refs:rx
85 struct rxrpc_call *rxrpc_find_call_by_user_ID(struct rxrpc_sock *rx, in rxrpc_find_call_by_user_ID() argument
91 _enter("%p,%lx", rx, user_call_ID); in rxrpc_find_call_by_user_ID()
93 read_lock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
95 p = rx->calls.rb_node; in rxrpc_find_call_by_user_ID()
107 read_unlock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
113 read_unlock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
121 struct rxrpc_call *rxrpc_alloc_call(struct rxrpc_sock *rx, gfp_t gfp, in rxrpc_alloc_call() argument
125 struct rxrpc_net *rxnet = rxrpc_net(sock_net(&rx->sk)); in rxrpc_alloc_call()
136 if (rx->sk.sk_kern_sock) in rxrpc_alloc_call()
188 static struct rxrpc_call *rxrpc_alloc_client_call(struct rxrpc_sock *rx, in rxrpc_alloc_client_call() argument
200 call = rxrpc_alloc_call(rx, gfp, debug_id); in rxrpc_alloc_client_call()
320 struct rxrpc_call *rxrpc_new_client_call(struct rxrpc_sock *rx, in rxrpc_new_client_call() argument
325 __releases(&rx->sk.sk_lock.slock) in rxrpc_new_client_call()
334 _enter("%p,%lx", rx, p->user_call_ID); in rxrpc_new_client_call()
337 release_sock(&rx->sk); in rxrpc_new_client_call()
343 release_sock(&rx->sk); in rxrpc_new_client_call()
347 call = rxrpc_alloc_client_call(rx, cp, p, gfp, debug_id); in rxrpc_new_client_call()
349 release_sock(&rx->sk); in rxrpc_new_client_call()
361 write_lock(&rx->call_lock); in rxrpc_new_client_call()
363 pp = &rx->calls.rb_node; in rxrpc_new_client_call()
377 rcu_assign_pointer(call->socket, rx); in rxrpc_new_client_call()
382 rb_insert_color(&call->sock_node, &rx->calls); in rxrpc_new_client_call()
383 list_add(&call->sock_link, &rx->sock_calls); in rxrpc_new_client_call()
385 write_unlock(&rx->call_lock); in rxrpc_new_client_call()
393 release_sock(&rx->sk); in rxrpc_new_client_call()
411 write_unlock(&rx->call_lock); in rxrpc_new_client_call()
412 release_sock(&rx->sk); in rxrpc_new_client_call()
438 void rxrpc_incoming_call(struct rxrpc_sock *rx, in rxrpc_incoming_call() argument
448 rcu_assign_pointer(call->socket, rx); in rxrpc_incoming_call()
561 void rxrpc_release_call(struct rxrpc_sock *rx, struct rxrpc_call *call) in rxrpc_release_call() argument
577 spin_lock_irq(&rx->recvmsg_lock); in rxrpc_release_call()
590 spin_unlock_irq(&rx->recvmsg_lock); in rxrpc_release_call()
594 write_lock(&rx->call_lock); in rxrpc_release_call()
597 rb_erase(&call->sock_node, &rx->calls); in rxrpc_release_call()
603 write_unlock(&rx->call_lock); in rxrpc_release_call()
616 void rxrpc_release_calls_on_socket(struct rxrpc_sock *rx) in rxrpc_release_calls_on_socket() argument
620 _enter("%p", rx); in rxrpc_release_calls_on_socket()
622 while (!list_empty(&rx->to_be_accepted)) { in rxrpc_release_calls_on_socket()
623 call = list_entry(rx->to_be_accepted.next, in rxrpc_release_calls_on_socket()
631 while (!list_empty(&rx->sock_calls)) { in rxrpc_release_calls_on_socket()
632 call = list_entry(rx->sock_calls.next, in rxrpc_release_calls_on_socket()
637 rxrpc_release_call(rx, call); in rxrpc_release_calls_on_socket()