Lines Matching refs:rx

62 struct rxrpc_call *rxrpc_find_call_by_user_ID(struct rxrpc_sock *rx,  in rxrpc_find_call_by_user_ID()  argument
68 _enter("%p,%lx", rx, user_call_ID); in rxrpc_find_call_by_user_ID()
70 read_lock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
72 p = rx->calls.rb_node; in rxrpc_find_call_by_user_ID()
84 read_unlock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
90 read_unlock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
98 struct rxrpc_call *rxrpc_alloc_call(struct rxrpc_sock *rx, gfp_t gfp, in rxrpc_alloc_call() argument
102 struct rxrpc_net *rxnet = rxrpc_net(sock_net(&rx->sk)); in rxrpc_alloc_call()
123 if (rx->sk.sk_kern_sock) in rxrpc_alloc_call()
169 static struct rxrpc_call *rxrpc_alloc_client_call(struct rxrpc_sock *rx, in rxrpc_alloc_client_call() argument
179 call = rxrpc_alloc_call(rx, gfp, debug_id); in rxrpc_alloc_client_call()
216 struct rxrpc_call *rxrpc_new_client_call(struct rxrpc_sock *rx, in rxrpc_new_client_call() argument
222 __releases(&rx->sk.sk_lock.slock) in rxrpc_new_client_call()
231 _enter("%p,%lx", rx, p->user_call_ID); in rxrpc_new_client_call()
233 call = rxrpc_alloc_client_call(rx, srx, gfp, debug_id); in rxrpc_new_client_call()
235 release_sock(&rx->sk); in rxrpc_new_client_call()
253 write_lock(&rx->call_lock); in rxrpc_new_client_call()
255 pp = &rx->calls.rb_node; in rxrpc_new_client_call()
269 rcu_assign_pointer(call->socket, rx); in rxrpc_new_client_call()
274 rb_insert_color(&call->sock_node, &rx->calls); in rxrpc_new_client_call()
275 list_add(&call->sock_link, &rx->sock_calls); in rxrpc_new_client_call()
277 write_unlock(&rx->call_lock); in rxrpc_new_client_call()
285 release_sock(&rx->sk); in rxrpc_new_client_call()
290 ret = rxrpc_connect_call(rx, call, cp, srx, gfp); in rxrpc_new_client_call()
310 write_unlock(&rx->call_lock); in rxrpc_new_client_call()
311 release_sock(&rx->sk); in rxrpc_new_client_call()
319 rxrpc_release_call(rx, call); in rxrpc_new_client_call()
330 void rxrpc_incoming_call(struct rxrpc_sock *rx, in rxrpc_incoming_call() argument
340 rcu_assign_pointer(call->socket, rx); in rxrpc_incoming_call()
444 void rxrpc_release_call(struct rxrpc_sock *rx, struct rxrpc_call *call) in rxrpc_release_call() argument
466 write_lock_bh(&rx->recvmsg_lock); in rxrpc_release_call()
479 write_unlock_bh(&rx->recvmsg_lock); in rxrpc_release_call()
483 write_lock(&rx->call_lock); in rxrpc_release_call()
486 rb_erase(&call->sock_node, &rx->calls); in rxrpc_release_call()
492 write_unlock(&rx->call_lock); in rxrpc_release_call()
508 void rxrpc_release_calls_on_socket(struct rxrpc_sock *rx) in rxrpc_release_calls_on_socket() argument
512 _enter("%p", rx); in rxrpc_release_calls_on_socket()
514 while (!list_empty(&rx->to_be_accepted)) { in rxrpc_release_calls_on_socket()
515 call = list_entry(rx->to_be_accepted.next, in rxrpc_release_calls_on_socket()
522 while (!list_empty(&rx->sock_calls)) { in rxrpc_release_calls_on_socket()
523 call = list_entry(rx->sock_calls.next, in rxrpc_release_calls_on_socket()
528 rxrpc_release_call(rx, call); in rxrpc_release_calls_on_socket()