Lines Matching refs:llcp_sock
62 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
101 llcp_sock->dev = dev;
102 llcp_sock->local = local;
103 llcp_sock->nfc_protocol = llcp_addr.nfc_protocol;
104 llcp_sock->service_name_len = min_t(unsigned int,
107 llcp_sock->service_name = kmemdup(llcp_addr.service_name,
108 llcp_sock->service_name_len,
110 if (!llcp_sock->service_name) {
111 nfc_llcp_local_put(llcp_sock->local);
112 llcp_sock->local = NULL;
113 llcp_sock->dev = NULL;
117 llcp_sock->ssap = nfc_llcp_get_sdp_ssap(local, llcp_sock);
118 if (llcp_sock->ssap == LLCP_SAP_MAX) {
119 nfc_llcp_local_put(llcp_sock->local);
120 llcp_sock->local = NULL;
121 kfree(llcp_sock->service_name);
122 llcp_sock->service_name = NULL;
123 llcp_sock->dev = NULL;
128 llcp_sock->reserved_ssap = llcp_sock->ssap;
132 pr_debug("Socket bound to SAP %d\n", llcp_sock->ssap);
148 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
183 llcp_sock->dev = dev;
184 llcp_sock->local = local;
185 llcp_sock->nfc_protocol = llcp_addr.nfc_protocol;
230 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
260 llcp_sock->rw = (u8) opt;
282 llcp_sock->miux = cpu_to_be16((u16) opt);
293 pr_debug("%p rw %d miux %d\n", llcp_sock,
294 llcp_sock->rw, llcp_sock->miux);
304 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
317 local = llcp_sock->local;
327 rw = llcp_sock->rw > LLCP_MAX_RW ? local->rw : llcp_sock->rw;
334 miux = be16_to_cpu(llcp_sock->miux) > LLCP_MAX_MIUX ?
335 be16_to_cpu(local->miux) : be16_to_cpu(llcp_sock->miux);
343 remote_miu = llcp_sock->remote_miu > LLCP_MAX_MIU ?
344 local->remote_miu : llcp_sock->remote_miu;
358 if (put_user(llcp_sock->remote_rw, (u32 __user *) optval))
378 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
382 list_del_init(&llcp_sock->accept_queue);
383 sk_acceptq_removed(llcp_sock->parent);
384 llcp_sock->parent = NULL;
391 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
397 list_add_tail(&llcp_sock->accept_queue,
399 llcp_sock->parent = parent;
502 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
505 if (llcp_sock == NULL || llcp_sock->dev == NULL)
508 pr_debug("%p %d %d %d\n", sk, llcp_sock->target_idx,
509 llcp_sock->dsap, llcp_sock->ssap);
514 if (!llcp_sock->dev) {
519 llcp_addr->dev_idx = llcp_sock->dev->idx;
520 llcp_addr->target_idx = llcp_sock->target_idx;
521 llcp_addr->nfc_protocol = llcp_sock->nfc_protocol;
522 llcp_addr->dsap = llcp_sock->dsap;
523 llcp_addr->ssap = llcp_sock->ssap;
524 llcp_addr->service_name_len = llcp_sock->service_name_len;
525 memcpy(llcp_addr->service_name, llcp_sock->service_name,
534 struct nfc_llcp_sock *llcp_sock, *parent_sock;
539 list_for_each_entry(llcp_sock, &parent_sock->accept_queue,
541 sk = &llcp_sock->sk;
593 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
601 local = llcp_sock->local;
611 nfc_llcp_send_disconnect(llcp_sock);
617 list_for_each_entry_safe(lsk, n, &llcp_sock->accept_queue,
629 if (llcp_sock->reserved_ssap < LLCP_SAP_MAX)
630 nfc_llcp_put_ssap(llcp_sock->local, llcp_sock->ssap);
657 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
711 llcp_sock->dev = dev;
712 llcp_sock->local = local;
713 llcp_sock->ssap = nfc_llcp_get_local_ssap(local);
714 if (llcp_sock->ssap == LLCP_SAP_MAX) {
719 llcp_sock->reserved_ssap = llcp_sock->ssap;
722 llcp_sock->dsap = addr->dsap;
724 llcp_sock->dsap = LLCP_SAP_SDP;
725 llcp_sock->nfc_protocol = addr->nfc_protocol;
726 llcp_sock->service_name_len = min_t(unsigned int,
729 llcp_sock->service_name = kmemdup(addr->service_name,
730 llcp_sock->service_name_len,
732 if (!llcp_sock->service_name) {
739 ret = nfc_llcp_send_connect(llcp_sock);
756 kfree(llcp_sock->service_name);
757 llcp_sock->service_name = NULL;
760 nfc_llcp_put_ssap(local, llcp_sock->ssap);
763 llcp_sock->local = NULL;
764 llcp_sock->dev = NULL;
781 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
795 if (!llcp_sock->local) {
811 return nfc_llcp_send_ui_frame(llcp_sock, addr->dsap, addr->ssap,
822 return nfc_llcp_send_i_frame(llcp_sock, msg, len);
955 struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
960 nfc_put_device(llcp_sock->dev);
964 nfc_llcp_sock_free(llcp_sock);
975 struct nfc_llcp_sock *llcp_sock;
981 llcp_sock = nfc_llcp_sock(sk);
989 llcp_sock->ssap = 0;
990 llcp_sock->dsap = LLCP_SAP_SDP;
991 llcp_sock->rw = LLCP_MAX_RW + 1;
992 llcp_sock->miux = cpu_to_be16(LLCP_MAX_MIUX + 1);
993 llcp_sock->send_n = llcp_sock->send_ack_n = 0;
994 llcp_sock->recv_n = llcp_sock->recv_ack_n = 0;
995 llcp_sock->remote_ready = 1;
996 llcp_sock->reserved_ssap = LLCP_SAP_MAX;
997 nfc_llcp_socket_remote_param_init(llcp_sock);
998 skb_queue_head_init(&llcp_sock->tx_queue);
999 skb_queue_head_init(&llcp_sock->tx_pending_queue);
1000 INIT_LIST_HEAD(&llcp_sock->accept_queue);