Lines Matching refs:rx
86 struct rxrpc_call *rxrpc_find_call_by_user_ID(struct rxrpc_sock *rx, in rxrpc_find_call_by_user_ID() argument
92 _enter("%p,%lx", rx, user_call_ID); in rxrpc_find_call_by_user_ID()
94 read_lock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
96 p = rx->calls.rb_node; in rxrpc_find_call_by_user_ID()
108 read_unlock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
114 read_unlock(&rx->call_lock); in rxrpc_find_call_by_user_ID()
122 struct rxrpc_call *rxrpc_alloc_call(struct rxrpc_sock *rx, gfp_t gfp, in rxrpc_alloc_call() argument
126 struct rxrpc_net *rxnet = rxrpc_net(sock_net(&rx->sk)); in rxrpc_alloc_call()
147 if (rx->sk.sk_kern_sock) in rxrpc_alloc_call()
194 static struct rxrpc_call *rxrpc_alloc_client_call(struct rxrpc_sock *rx, in rxrpc_alloc_client_call() argument
204 call = rxrpc_alloc_call(rx, gfp, debug_id); in rxrpc_alloc_client_call()
269 struct rxrpc_call *rxrpc_new_client_call(struct rxrpc_sock *rx, in rxrpc_new_client_call() argument
275 __releases(&rx->sk.sk_lock.slock) in rxrpc_new_client_call()
285 _enter("%p,%lx", rx, p->user_call_ID); in rxrpc_new_client_call()
289 release_sock(&rx->sk); in rxrpc_new_client_call()
293 call = rxrpc_alloc_client_call(rx, srx, gfp, debug_id); in rxrpc_new_client_call()
295 release_sock(&rx->sk); in rxrpc_new_client_call()
315 write_lock(&rx->call_lock); in rxrpc_new_client_call()
317 pp = &rx->calls.rb_node; in rxrpc_new_client_call()
331 rcu_assign_pointer(call->socket, rx); in rxrpc_new_client_call()
336 rb_insert_color(&call->sock_node, &rx->calls); in rxrpc_new_client_call()
337 list_add(&call->sock_link, &rx->sock_calls); in rxrpc_new_client_call()
339 write_unlock(&rx->call_lock); in rxrpc_new_client_call()
347 release_sock(&rx->sk); in rxrpc_new_client_call()
352 ret = rxrpc_connect_call(rx, call, cp, srx, gfp); in rxrpc_new_client_call()
372 write_unlock(&rx->call_lock); in rxrpc_new_client_call()
373 release_sock(&rx->sk); in rxrpc_new_client_call()
378 rxrpc_release_call(rx, call); in rxrpc_new_client_call()
403 void rxrpc_incoming_call(struct rxrpc_sock *rx, in rxrpc_incoming_call() argument
413 rcu_assign_pointer(call->socket, rx); in rxrpc_incoming_call()
528 void rxrpc_release_call(struct rxrpc_sock *rx, struct rxrpc_call *call) in rxrpc_release_call() argument
551 write_lock_bh(&rx->recvmsg_lock); in rxrpc_release_call()
564 write_unlock_bh(&rx->recvmsg_lock); in rxrpc_release_call()
568 write_lock(&rx->call_lock); in rxrpc_release_call()
571 rb_erase(&call->sock_node, &rx->calls); in rxrpc_release_call()
577 write_unlock(&rx->call_lock); in rxrpc_release_call()
591 void rxrpc_release_calls_on_socket(struct rxrpc_sock *rx) in rxrpc_release_calls_on_socket() argument
595 _enter("%p", rx); in rxrpc_release_calls_on_socket()
597 while (!list_empty(&rx->to_be_accepted)) { in rxrpc_release_calls_on_socket()
598 call = list_entry(rx->to_be_accepted.next, in rxrpc_release_calls_on_socket()
605 while (!list_empty(&rx->sock_calls)) { in rxrpc_release_calls_on_socket()
606 call = list_entry(rx->sock_calls.next, in rxrpc_release_calls_on_socket()
611 rxrpc_release_call(rx, call); in rxrpc_release_calls_on_socket()