Lines Matching refs:skb
38 void nci_data_exchange_complete(struct nci_dev *ndev, struct sk_buff *skb, in nci_data_exchange_complete() argument
47 kfree_skb(skb); in nci_data_exchange_complete()
54 pr_debug("len %d, err %d\n", skb ? skb->len : 0, err); in nci_data_exchange_complete()
62 cb(cb_context, skb, err); in nci_data_exchange_complete()
63 } else if (skb) { in nci_data_exchange_complete()
67 kfree_skb(skb); in nci_data_exchange_complete()
78 struct sk_buff *skb, in nci_push_data_hdr() argument
82 int plen = skb->len; in nci_push_data_hdr()
84 hdr = (struct nci_data_hdr *) skb_push(skb, NCI_DATA_HDR_SIZE); in nci_push_data_hdr()
95 struct sk_buff *skb) { in nci_queue_tx_data_frags() argument
97 int total_len = skb->len; in nci_queue_tx_data_frags()
98 unsigned char *data = skb->data; in nci_queue_tx_data_frags()
154 kfree_skb(skb); in nci_queue_tx_data_frags()
167 int nci_send_data(struct nci_dev *ndev, __u8 conn_id, struct sk_buff *skb) in nci_send_data() argument
172 pr_debug("conn_id 0x%x, plen %d\n", conn_id, skb->len); in nci_send_data()
181 if (skb->len <= conn_info->max_pkt_payload_len) { in nci_send_data()
183 nci_push_data_hdr(ndev, conn_id, skb, NCI_PBF_LAST); in nci_send_data()
185 skb_queue_tail(&ndev->tx_q, skb); in nci_send_data()
188 rc = nci_queue_tx_data_frags(ndev, conn_id, skb); in nci_send_data()
201 kfree_skb(skb); in nci_send_data()
210 struct sk_buff *skb, in nci_add_rx_data_frag() argument
225 if (skb_cow_head(skb, reassembly_len)) { in nci_add_rx_data_frag()
228 kfree_skb(skb); in nci_add_rx_data_frag()
229 skb = NULL; in nci_add_rx_data_frag()
239 memcpy(skb_push(skb, reassembly_len), in nci_add_rx_data_frag()
250 ndev->rx_data_reassembly = skb; in nci_add_rx_data_frag()
257 err = nfc_tm_data_received(ndev->nfc_dev, skb); in nci_add_rx_data_frag()
261 nci_data_exchange_complete(ndev, skb, conn_id, err); in nci_add_rx_data_frag()
266 void nci_rx_data_packet(struct nci_dev *ndev, struct sk_buff *skb) in nci_rx_data_packet() argument
268 __u8 pbf = nci_pbf(skb->data); in nci_rx_data_packet()
270 __u8 conn_id = nci_conn_id(skb->data); in nci_rx_data_packet()
273 pr_debug("len %d\n", skb->len); in nci_rx_data_packet()
276 nci_pbf(skb->data), in nci_rx_data_packet()
277 nci_conn_id(skb->data), in nci_rx_data_packet()
278 nci_plen(skb->data)); in nci_rx_data_packet()
280 conn_info = nci_get_conn_info_by_conn_id(ndev, nci_conn_id(skb->data)); in nci_rx_data_packet()
285 skb_pull(skb, NCI_DATA_HDR_SIZE); in nci_rx_data_packet()
293 status = skb->data[skb->len - 1]; in nci_rx_data_packet()
294 skb_trim(skb, (skb->len - 1)); in nci_rx_data_packet()
297 nci_add_rx_data_frag(ndev, skb, pbf, conn_id, nci_to_errno(status)); in nci_rx_data_packet()