Lines Matching refs:sk
35 void nfc_llcp_sock_link(struct llcp_sock_list *l, struct sock *sk) in nfc_llcp_sock_link() argument
38 sk_add_node(sk, &l->head); in nfc_llcp_sock_link()
42 void nfc_llcp_sock_unlink(struct llcp_sock_list *l, struct sock *sk) in nfc_llcp_sock_unlink() argument
45 sk_del_node_init(sk); in nfc_llcp_sock_unlink()
60 pr_debug("%p\n", &sock->sk); in nfc_llcp_socket_purge()
70 if (s->sk != &sock->sk) in nfc_llcp_socket_purge()
81 struct sock *sk; in nfc_llcp_socket_release() local
89 sk_for_each_safe(sk, tmp, &local->sockets.head) { in nfc_llcp_socket_release()
90 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_socket_release()
92 bh_lock_sock(sk); in nfc_llcp_socket_release()
96 if (sk->sk_state == LLCP_CONNECTED) in nfc_llcp_socket_release()
99 if (sk->sk_state == LLCP_LISTEN) { in nfc_llcp_socket_release()
106 accept_sk = &lsk->sk; in nfc_llcp_socket_release()
114 accept_sk->sk_state_change(sk); in nfc_llcp_socket_release()
121 sk->sk_err = err; in nfc_llcp_socket_release()
122 sk->sk_state = LLCP_CLOSED; in nfc_llcp_socket_release()
123 sk->sk_state_change(sk); in nfc_llcp_socket_release()
125 bh_unlock_sock(sk); in nfc_llcp_socket_release()
127 sk_del_node_init(sk); in nfc_llcp_socket_release()
138 sk_for_each_safe(sk, tmp, &local->raw_sockets.head) { in nfc_llcp_socket_release()
139 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_socket_release()
141 bh_lock_sock(sk); in nfc_llcp_socket_release()
146 sk->sk_err = err; in nfc_llcp_socket_release()
147 sk->sk_state = LLCP_CLOSED; in nfc_llcp_socket_release()
148 sk->sk_state_change(sk); in nfc_llcp_socket_release()
150 bh_unlock_sock(sk); in nfc_llcp_socket_release()
152 sk_del_node_init(sk); in nfc_llcp_socket_release()
201 struct sock *sk; in nfc_llcp_sock_get() local
213 sk_for_each(sk, &local->sockets.head) { in nfc_llcp_sock_get()
214 tmp_sock = nfc_llcp_sock(sk); in nfc_llcp_sock_get()
227 sock_hold(&llcp_sock->sk); in nfc_llcp_sock_get()
234 sock_put(&sock->sk); in nfc_llcp_sock_put()
342 struct sock *sk; in nfc_llcp_sock_from_sn() local
354 sk_for_each(sk, &local->sockets.head) { in nfc_llcp_sock_from_sn()
355 tmp_sock = nfc_llcp_sock(sk); in nfc_llcp_sock_from_sn()
359 if (tmp_sock->sk.sk_type == SOCK_STREAM && in nfc_llcp_sock_from_sn()
360 tmp_sock->sk.sk_state != LLCP_LISTEN) in nfc_llcp_sock_from_sn()
363 if (tmp_sock->sk.sk_type == SOCK_DGRAM && in nfc_llcp_sock_from_sn()
364 tmp_sock->sk.sk_state != LLCP_BOUND) in nfc_llcp_sock_from_sn()
674 struct sock *sk; in nfc_llcp_send_to_raw_sock() local
679 sk_for_each(sk, &local->raw_sockets.head) { in nfc_llcp_send_to_raw_sock()
680 if (sk->sk_state != LLCP_BOUND) in nfc_llcp_send_to_raw_sock()
701 if (sock_queue_rcv_skb(sk, nskb)) in nfc_llcp_send_to_raw_sock()
715 struct sock *sk; in nfc_llcp_tx_work() local
720 sk = skb->sk; in nfc_llcp_tx_work()
721 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_tx_work()
739 if (ptype == LLCP_PDU_DISC && sk != NULL && in nfc_llcp_tx_work()
740 sk->sk_state == LLCP_DISCONNECTING) { in nfc_llcp_tx_work()
741 nfc_llcp_sock_unlink(&local->sockets, sk); in nfc_llcp_tx_work()
742 sock_orphan(sk); in nfc_llcp_tx_work()
743 sock_put(sk); in nfc_llcp_tx_work()
778 struct sock *sk; in nfc_llcp_connecting_sock_get() local
783 sk_for_each(sk, &local->connecting_sockets.head) { in nfc_llcp_connecting_sock_get()
784 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_connecting_sock_get()
787 sock_hold(&llcp_sock->sk); in nfc_llcp_connecting_sock_get()
810 sock_hold(&llcp_sock->sk); in nfc_llcp_sock_get_sn()
856 if (llcp_sock == NULL || llcp_sock->sk.sk_type != SOCK_DGRAM) in nfc_llcp_recv_ui()
861 if (!sock_queue_rcv_skb(&llcp_sock->sk, skb)) { in nfc_llcp_recv_ui()
888 if (sock == NULL || sock->sk.sk_state != LLCP_LISTEN) { in nfc_llcp_recv_connect()
911 lock_sock(&sock->sk); in nfc_llcp_recv_connect()
913 parent = &sock->sk; in nfc_llcp_recv_connect()
917 release_sock(&sock->sk); in nfc_llcp_recv_connect()
918 sock_put(&sock->sk); in nfc_llcp_recv_connect()
929 release_sock(&sock->sk); in nfc_llcp_recv_connect()
930 sock_put(&sock->sk); in nfc_llcp_recv_connect()
940 release_sock(&sock->sk); in nfc_llcp_recv_connect()
941 sock_put(&sock->sk); in nfc_llcp_recv_connect()
970 pr_debug("new sock %p sk %p\n", new_sock, &new_sock->sk); in nfc_llcp_recv_connect()
974 nfc_llcp_accept_enqueue(&sock->sk, new_sk); in nfc_llcp_recv_connect()
986 release_sock(&sock->sk); in nfc_llcp_recv_connect()
987 sock_put(&sock->sk); in nfc_llcp_recv_connect()
1028 struct sock *sk; in nfc_llcp_recv_hdlc() local
1045 sk = &llcp_sock->sk; in nfc_llcp_recv_hdlc()
1046 lock_sock(sk); in nfc_llcp_recv_hdlc()
1047 if (sk->sk_state == LLCP_CLOSED) { in nfc_llcp_recv_hdlc()
1048 release_sock(sk); in nfc_llcp_recv_hdlc()
1054 pr_debug("I frame, queueing on %p\n", &llcp_sock->sk); in nfc_llcp_recv_hdlc()
1062 if (!sock_queue_rcv_skb(&llcp_sock->sk, skb)) { in nfc_llcp_recv_hdlc()
1107 release_sock(sk); in nfc_llcp_recv_hdlc()
1115 struct sock *sk; in nfc_llcp_recv_disc() local
1133 sk = &llcp_sock->sk; in nfc_llcp_recv_disc()
1134 lock_sock(sk); in nfc_llcp_recv_disc()
1138 if (sk->sk_state == LLCP_CLOSED) { in nfc_llcp_recv_disc()
1139 release_sock(sk); in nfc_llcp_recv_disc()
1143 if (sk->sk_state == LLCP_CONNECTED) { in nfc_llcp_recv_disc()
1145 sk->sk_state = LLCP_CLOSED; in nfc_llcp_recv_disc()
1146 sk->sk_state_change(sk); in nfc_llcp_recv_disc()
1151 release_sock(sk); in nfc_llcp_recv_disc()
1158 struct sock *sk; in nfc_llcp_recv_cc() local
1172 sk = &llcp_sock->sk; in nfc_llcp_recv_cc()
1175 nfc_llcp_sock_unlink(&local->connecting_sockets, sk); in nfc_llcp_recv_cc()
1176 nfc_llcp_sock_link(&local->sockets, sk); in nfc_llcp_recv_cc()
1182 sk->sk_state = LLCP_CONNECTED; in nfc_llcp_recv_cc()
1183 sk->sk_state_change(sk); in nfc_llcp_recv_cc()
1191 struct sock *sk; in nfc_llcp_recv_dm() local
1216 sk = &llcp_sock->sk; in nfc_llcp_recv_dm()
1218 sk->sk_err = ENXIO; in nfc_llcp_recv_dm()
1219 sk->sk_state = LLCP_CLOSED; in nfc_llcp_recv_dm()
1220 sk->sk_state_change(sk); in nfc_llcp_recv_dm()