Lines Matching refs:ndev
38 void nci_data_exchange_complete(struct nci_dev *ndev, struct sk_buff *skb, in nci_data_exchange_complete() argument
45 conn_info = nci_get_conn_info_by_conn_id(ndev, conn_id); in nci_data_exchange_complete()
57 del_timer_sync(&ndev->data_timer); in nci_data_exchange_complete()
58 clear_bit(NCI_DATA_EXCHANGE_TO, &ndev->flags); in nci_data_exchange_complete()
71 clear_bit(NCI_DATA_EXCHANGE, &ndev->flags); in nci_data_exchange_complete()
76 static inline void nci_push_data_hdr(struct nci_dev *ndev, in nci_push_data_hdr() argument
93 static int nci_queue_tx_data_frags(struct nci_dev *ndev, in nci_queue_tx_data_frags() argument
107 conn_info = nci_get_conn_info_by_conn_id(ndev, conn_id); in nci_queue_tx_data_frags()
119 skb_frag = nci_skb_alloc(ndev, in nci_queue_tx_data_frags()
132 nci_push_data_hdr(ndev, conn_id, skb_frag, in nci_queue_tx_data_frags()
146 spin_lock_irqsave(&ndev->tx_q.lock, flags); in nci_queue_tx_data_frags()
149 __skb_queue_tail(&ndev->tx_q, skb_frag); in nci_queue_tx_data_frags()
151 spin_unlock_irqrestore(&ndev->tx_q.lock, flags); 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
174 conn_info = nci_get_conn_info_by_conn_id(ndev, conn_id); 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()
195 ndev->cur_conn_id = conn_id; in nci_send_data()
196 queue_work(ndev->tx_wq, &ndev->tx_work); in nci_send_data()
209 static void nci_add_rx_data_frag(struct nci_dev *ndev, in nci_add_rx_data_frag() argument
221 if (ndev->rx_data_reassembly) { in nci_add_rx_data_frag()
222 reassembly_len = ndev->rx_data_reassembly->len; in nci_add_rx_data_frag()
231 kfree_skb(ndev->rx_data_reassembly); in nci_add_rx_data_frag()
232 ndev->rx_data_reassembly = NULL; in nci_add_rx_data_frag()
240 ndev->rx_data_reassembly->data, in nci_add_rx_data_frag()
244 kfree_skb(ndev->rx_data_reassembly); in nci_add_rx_data_frag()
245 ndev->rx_data_reassembly = NULL; in nci_add_rx_data_frag()
250 ndev->rx_data_reassembly = skb; in nci_add_rx_data_frag()
255 if (ndev->nfc_dev->rf_mode == NFC_RF_TARGET) { 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
280 conn_info = nci_get_conn_info_by_conn_id(ndev, nci_conn_id(skb->data)); in nci_rx_data_packet()
287 if (ndev->target_active_prot == NFC_PROTO_MIFARE || in nci_rx_data_packet()
288 ndev->target_active_prot == NFC_PROTO_JEWEL || in nci_rx_data_packet()
289 ndev->target_active_prot == NFC_PROTO_FELICA || in nci_rx_data_packet()
290 ndev->target_active_prot == NFC_PROTO_ISO15693) { 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()