Lines Matching refs:skb
229 static int microread_xmit(struct nfc_hci_dev *hdev, struct sk_buff *skb) in microread_xmit() argument
233 return info->phy_ops->write(info->phy_id, skb); in microread_xmit()
369 static void microread_im_transceive_cb(void *context, struct sk_buff *skb, in microread_im_transceive_cb() argument
377 if (skb->len == 0) { in microread_im_transceive_cb()
379 kfree_skb(skb); in microread_im_transceive_cb()
385 if (skb->data[skb->len - 1] != 0) { in microread_im_transceive_cb()
387 skb->data[skb->len - 1]); in microread_im_transceive_cb()
388 kfree_skb(skb); in microread_im_transceive_cb()
394 skb_trim(skb, skb->len - 1); /* RF Error ind. */ in microread_im_transceive_cb()
396 info->async_cb(info->async_cb_context, skb, err); in microread_im_transceive_cb()
400 kfree_skb(skb); in microread_im_transceive_cb()
412 struct sk_buff *skb, data_exchange_cb_t cb, in microread_im_transceive() argument
422 *skb_push(skb, 1) = 0; in microread_im_transceive()
426 skb->data, skb->len); in microread_im_transceive()
442 crc = crc_ccitt(0xffff, skb->data, skb->len); in microread_im_transceive()
444 *skb_put(skb, 1) = crc & 0xff; in microread_im_transceive()
445 *skb_put(skb, 1) = crc >> 8; in microread_im_transceive()
456 *skb_push(skb, 1) = control_bits; in microread_im_transceive()
464 skb->data, skb->len, in microread_im_transceive()
468 static int microread_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb) in microread_tm_send() argument
474 skb->data, skb->len); in microread_tm_send()
476 kfree_skb(skb); in microread_tm_send()
482 struct sk_buff *skb) in microread_target_discovered() argument
500 nfc_hci_sak_to_protocol(skb->data[MICROREAD_EMCF_A_SAK]); in microread_target_discovered()
502 be16_to_cpu(*(u16 *)&skb->data[MICROREAD_EMCF_A_ATQA]); in microread_target_discovered()
503 targets->sel_res = skb->data[MICROREAD_EMCF_A_SAK]; in microread_target_discovered()
504 targets->nfcid1_len = skb->data[MICROREAD_EMCF_A_LEN]; in microread_target_discovered()
509 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_A_UID], in microread_target_discovered()
514 nfc_hci_sak_to_protocol(skb->data[MICROREAD_EMCF_A3_SAK]); in microread_target_discovered()
516 be16_to_cpu(*(u16 *)&skb->data[MICROREAD_EMCF_A3_ATQA]); in microread_target_discovered()
517 targets->sel_res = skb->data[MICROREAD_EMCF_A3_SAK]; in microread_target_discovered()
518 targets->nfcid1_len = skb->data[MICROREAD_EMCF_A3_LEN]; in microread_target_discovered()
523 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_A3_UID], in microread_target_discovered()
528 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_B_UID], 4); in microread_target_discovered()
534 le16_to_cpu(*(u16 *)&skb->data[MICROREAD_EMCF_T1_ATQA]); in microread_target_discovered()
535 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_T1_UID], 4); in microread_target_discovered()
540 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_T3_UID], 8); in microread_target_discovered()
554 kfree_skb(skb); in microread_target_discovered()
561 u8 event, struct sk_buff *skb) in microread_event_received() argument
571 microread_target_discovered(hdev, gate, skb); in microread_event_received()
575 if (skb->len < 1) { in microread_event_received()
576 kfree_skb(skb); in microread_event_received()
580 if (skb->data[skb->len - 1]) { in microread_event_received()
581 kfree_skb(skb); in microread_event_received()
585 skb_trim(skb, skb->len - 1); in microread_event_received()
587 r = nfc_tm_data_received(hdev->ndev, skb); in microread_event_received()
592 kfree_skb(skb); in microread_event_received()
597 NFC_COMM_PASSIVE, skb->data, in microread_event_received()
598 skb->len); in microread_event_received()
600 kfree_skb(skb); in microread_event_received()
604 if (skb->len < 1) { in microread_event_received()
605 kfree_skb(skb); in microread_event_received()
609 if (skb->data[skb->len-1]) { in microread_event_received()
610 kfree_skb(skb); in microread_event_received()
614 skb_trim(skb, skb->len - 1); in microread_event_received()
616 r = nfc_tm_data_received(hdev->ndev, skb); in microread_event_received()
620 kfree_skb(skb); in microread_event_received()