Lines Matching refs:rx
25 struct rxrpc_sock *rx; in rxrpc_notify_socket() local
39 rx = rcu_dereference(call->socket); in rxrpc_notify_socket()
40 sk = &rx->sk; in rxrpc_notify_socket()
41 if (rx && sk->sk_state < RXRPC_CLOSE) { in rxrpc_notify_socket()
47 spin_lock_irq(&rx->recvmsg_lock); in rxrpc_notify_socket()
50 list_add_tail(&call->recvmsg_link, &rx->recvmsg_q); in rxrpc_notify_socket()
52 spin_unlock_irq(&rx->recvmsg_lock); in rxrpc_notify_socket()
201 struct rxrpc_sock *rx = rxrpc_sk(sock->sk); in rxrpc_recvmsg_oob() local
206 skb = skb_peek(&rx->recvmsg_oobq); in rxrpc_recvmsg_oob()
229 skb_unlink(skb, &rx->recvmsg_oobq); in rxrpc_recvmsg_oob()
231 rxrpc_add_pending_oob(rx, skb); in rxrpc_recvmsg_oob()
248 struct rxrpc_sock *rx = rxrpc_sk(sock->sk); in rxrpc_recvmsg_data() local
339 if (!rx->app_ops && in rxrpc_recvmsg_data()
340 !skb_queue_empty_lockless(&rx->recvmsg_oobq)) { in rxrpc_recvmsg_data()
370 struct rxrpc_sock *rx = rxrpc_sk(sock->sk); in rxrpc_recvmsg() local
384 timeo = sock_rcvtimeo(&rx->sk, flags & MSG_DONTWAIT); in rxrpc_recvmsg()
387 lock_sock(&rx->sk); in rxrpc_recvmsg()
390 if (RB_EMPTY_ROOT(&rx->calls) && in rxrpc_recvmsg()
391 list_empty(&rx->recvmsg_q) && in rxrpc_recvmsg()
392 skb_queue_empty_lockless(&rx->recvmsg_oobq) && in rxrpc_recvmsg()
393 rx->sk.sk_state != RXRPC_SERVER_LISTENING) { in rxrpc_recvmsg()
394 release_sock(&rx->sk); in rxrpc_recvmsg()
398 if (list_empty(&rx->recvmsg_q)) { in rxrpc_recvmsg()
405 release_sock(&rx->sk); in rxrpc_recvmsg()
408 prepare_to_wait_exclusive(sk_sleep(&rx->sk), &wait, in rxrpc_recvmsg()
410 ret = sock_error(&rx->sk); in rxrpc_recvmsg()
414 if (list_empty(&rx->recvmsg_q) && in rxrpc_recvmsg()
415 skb_queue_empty_lockless(&rx->recvmsg_oobq)) { in rxrpc_recvmsg()
421 finish_wait(sk_sleep(&rx->sk), &wait); in rxrpc_recvmsg()
426 if (!skb_queue_empty_lockless(&rx->recvmsg_oobq)) { in rxrpc_recvmsg()
428 release_sock(&rx->sk); in rxrpc_recvmsg()
439 spin_lock_irq(&rx->recvmsg_lock); in rxrpc_recvmsg()
440 l = rx->recvmsg_q.next; in rxrpc_recvmsg()
445 skb_queue_empty(&rx->recvmsg_oobq)) { in rxrpc_recvmsg()
447 spin_unlock_irq(&rx->recvmsg_lock); in rxrpc_recvmsg()
448 release_sock(&rx->sk); in rxrpc_recvmsg()
458 spin_unlock_irq(&rx->recvmsg_lock); in rxrpc_recvmsg()
459 release_sock(&rx->sk); in rxrpc_recvmsg()
468 spin_unlock_irq(&rx->recvmsg_lock); in rxrpc_recvmsg()
485 release_sock(&rx->sk); in rxrpc_recvmsg()
532 rxrpc_release_call(rx, call); in rxrpc_recvmsg()
551 spin_lock_irq(&rx->recvmsg_lock); in rxrpc_recvmsg()
552 list_add(&call->recvmsg_link, &rx->recvmsg_q); in rxrpc_recvmsg()
553 spin_unlock_irq(&rx->recvmsg_lock); in rxrpc_recvmsg()
559 release_sock(&rx->sk); in rxrpc_recvmsg()
567 finish_wait(sk_sleep(&rx->sk), &wait); in rxrpc_recvmsg()