Lines Matching refs:llcp_sock
69 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_socket_release() local
76 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_socket_release()
80 nfc_llcp_socket_purge(llcp_sock); in nfc_llcp_socket_release()
83 nfc_put_device(llcp_sock->dev); in nfc_llcp_socket_release()
90 &llcp_sock->accept_queue, in nfc_llcp_socket_release()
125 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_socket_release()
129 nfc_llcp_socket_purge(llcp_sock); in nfc_llcp_socket_release()
189 struct nfc_llcp_sock *llcp_sock, *tmp_sock; in nfc_llcp_sock_get() local
198 llcp_sock = NULL; in nfc_llcp_sock_get()
204 llcp_sock = tmp_sock; in nfc_llcp_sock_get()
211 if (llcp_sock == NULL) in nfc_llcp_sock_get()
214 sock_hold(&llcp_sock->sk); in nfc_llcp_sock_get()
216 return llcp_sock; in nfc_llcp_sock_get()
330 struct nfc_llcp_sock *llcp_sock, *tmp_sock; in nfc_llcp_sock_from_sn() local
339 llcp_sock = NULL; in nfc_llcp_sock_from_sn()
362 llcp_sock = tmp_sock; in nfc_llcp_sock_from_sn()
369 pr_debug("Found llcp sock %p\n", llcp_sock); in nfc_llcp_sock_from_sn()
371 return llcp_sock; in nfc_llcp_sock_from_sn()
719 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_tx_work() local
724 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_tx_work()
726 if (llcp_sock == NULL && nfc_llcp_ptype(skb) == LLCP_PDU_I) { in nfc_llcp_tx_work()
729 } else if (llcp_sock && !llcp_sock->remote_ready) { in nfc_llcp_tx_work()
758 skb_queue_tail(&llcp_sock->tx_pending_queue, in nfc_llcp_tx_work()
774 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_connecting_sock_get() local
779 llcp_sock = nfc_llcp_sock(sk); in nfc_llcp_connecting_sock_get()
781 if (llcp_sock->ssap == ssap) { in nfc_llcp_connecting_sock_get()
782 sock_hold(&llcp_sock->sk); in nfc_llcp_connecting_sock_get()
787 llcp_sock = NULL; in nfc_llcp_connecting_sock_get()
792 return llcp_sock; in nfc_llcp_connecting_sock_get()
798 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_sock_get_sn() local
800 llcp_sock = nfc_llcp_sock_from_sn(local, sn, sn_len); in nfc_llcp_sock_get_sn()
802 if (llcp_sock == NULL) in nfc_llcp_sock_get_sn()
805 sock_hold(&llcp_sock->sk); in nfc_llcp_sock_get_sn()
807 return llcp_sock; in nfc_llcp_sock_get_sn()
837 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_recv_ui() local
851 llcp_sock = nfc_llcp_sock_get(local, dsap, LLCP_SAP_SDP); in nfc_llcp_recv_ui()
852 if (llcp_sock == NULL || llcp_sock->sk.sk_type != SOCK_DGRAM) in nfc_llcp_recv_ui()
857 if (!sock_queue_rcv_skb(&llcp_sock->sk, skb)) { in nfc_llcp_recv_ui()
867 nfc_llcp_sock_put(llcp_sock); in nfc_llcp_recv_ui()
1023 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_recv_hdlc() local
1035 llcp_sock = nfc_llcp_sock_get(local, dsap, ssap); in nfc_llcp_recv_hdlc()
1036 if (llcp_sock == NULL) { in nfc_llcp_recv_hdlc()
1041 sk = &llcp_sock->sk; in nfc_llcp_recv_hdlc()
1045 nfc_llcp_sock_put(llcp_sock); in nfc_llcp_recv_hdlc()
1050 pr_debug("I frame, queueing on %p\n", &llcp_sock->sk); in nfc_llcp_recv_hdlc()
1052 if (ns == llcp_sock->recv_n) in nfc_llcp_recv_hdlc()
1053 llcp_sock->recv_n = (llcp_sock->recv_n + 1) % 16; in nfc_llcp_recv_hdlc()
1058 if (!sock_queue_rcv_skb(&llcp_sock->sk, skb)) { in nfc_llcp_recv_hdlc()
1070 if (llcp_sock->send_ack_n != nr) { in nfc_llcp_recv_hdlc()
1074 llcp_sock->send_ack_n = nr; in nfc_llcp_recv_hdlc()
1077 skb_queue_walk_safe(&llcp_sock->tx_pending_queue, s, tmp) { in nfc_llcp_recv_hdlc()
1080 skb_unlink(s, &llcp_sock->tx_pending_queue); in nfc_llcp_recv_hdlc()
1088 skb_queue_reverse_walk_safe(&llcp_sock->tx_pending_queue, in nfc_llcp_recv_hdlc()
1090 skb_unlink(s, &llcp_sock->tx_pending_queue); in nfc_llcp_recv_hdlc()
1096 llcp_sock->remote_ready = true; in nfc_llcp_recv_hdlc()
1098 llcp_sock->remote_ready = false; in nfc_llcp_recv_hdlc()
1100 if (nfc_llcp_queue_i_frames(llcp_sock) == 0 && ptype == LLCP_PDU_I) in nfc_llcp_recv_hdlc()
1101 nfc_llcp_send_rr(llcp_sock); in nfc_llcp_recv_hdlc()
1104 nfc_llcp_sock_put(llcp_sock); in nfc_llcp_recv_hdlc()
1110 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_recv_disc() local
1123 llcp_sock = nfc_llcp_sock_get(local, dsap, ssap); in nfc_llcp_recv_disc()
1124 if (llcp_sock == NULL) { in nfc_llcp_recv_disc()
1129 sk = &llcp_sock->sk; in nfc_llcp_recv_disc()
1132 nfc_llcp_socket_purge(llcp_sock); in nfc_llcp_recv_disc()
1136 nfc_llcp_sock_put(llcp_sock); in nfc_llcp_recv_disc()
1148 nfc_llcp_sock_put(llcp_sock); in nfc_llcp_recv_disc()
1154 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_recv_cc() local
1161 llcp_sock = nfc_llcp_connecting_sock_get(local, dsap); in nfc_llcp_recv_cc()
1162 if (llcp_sock == NULL) { in nfc_llcp_recv_cc()
1169 sk = &llcp_sock->sk; in nfc_llcp_recv_cc()
1174 llcp_sock->dsap = ssap; in nfc_llcp_recv_cc()
1176 nfc_llcp_parse_connection_tlv(llcp_sock, &skb->data[LLCP_HEADER_SIZE], in nfc_llcp_recv_cc()
1182 nfc_llcp_sock_put(llcp_sock); in nfc_llcp_recv_cc()
1188 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_recv_dm() local
1201 llcp_sock = nfc_llcp_connecting_sock_get(local, dsap); in nfc_llcp_recv_dm()
1205 llcp_sock = nfc_llcp_sock_get(local, dsap, ssap); in nfc_llcp_recv_dm()
1209 if (llcp_sock == NULL) { in nfc_llcp_recv_dm()
1214 sk = &llcp_sock->sk; in nfc_llcp_recv_dm()
1220 nfc_llcp_sock_put(llcp_sock); in nfc_llcp_recv_dm()
1226 struct nfc_llcp_sock *llcp_sock; in nfc_llcp_recv_snl() local
1271 llcp_sock = nfc_llcp_sock_from_sn(local, service_name, in nfc_llcp_recv_snl()
1273 if (!llcp_sock) { in nfc_llcp_recv_snl()
1283 if (llcp_sock->ssap == LLCP_SDP_UNBOUND) { in nfc_llcp_recv_snl()
1301 llcp_sock->ssap = sap; in nfc_llcp_recv_snl()
1302 llcp_sock->reserved_ssap = sap; in nfc_llcp_recv_snl()
1304 sap = llcp_sock->ssap; in nfc_llcp_recv_snl()
1307 pr_debug("%p %d\n", llcp_sock, sap); in nfc_llcp_recv_snl()