Lines Matching refs:skb

229 static int microread_xmit(struct nfc_hci_dev *hdev, struct sk_buff *skb)
233 return info->phy_ops->write(info->phy_id, skb);
369 static void microread_im_transceive_cb(void *context, struct sk_buff *skb,
377 if (skb->len == 0) {
379 kfree_skb(skb);
385 if (skb->data[skb->len - 1] != 0) {
387 skb->data[skb->len - 1]);
388 kfree_skb(skb);
394 skb_trim(skb, skb->len - 1); /* RF Error ind. */
396 info->async_cb(info->async_cb_context, skb, err);
400 kfree_skb(skb);
412 struct sk_buff *skb, data_exchange_cb_t cb,
422 *skb_push(skb, 1) = 0;
426 skb->data, skb->len);
442 crc = crc_ccitt(0xffff, skb->data, skb->len);
444 *skb_put(skb, 1) = crc & 0xff;
445 *skb_put(skb, 1) = crc >> 8;
456 *skb_push(skb, 1) = control_bits;
464 skb->data, skb->len,
468 static int microread_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb)
474 skb->data, skb->len);
476 kfree_skb(skb);
482 struct sk_buff *skb)
500 nfc_hci_sak_to_protocol(skb->data[MICROREAD_EMCF_A_SAK]);
502 be16_to_cpu(*(u16 *)&skb->data[MICROREAD_EMCF_A_ATQA]);
503 targets->sel_res = skb->data[MICROREAD_EMCF_A_SAK];
504 targets->nfcid1_len = skb->data[MICROREAD_EMCF_A_LEN];
509 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_A_UID],
514 nfc_hci_sak_to_protocol(skb->data[MICROREAD_EMCF_A3_SAK]);
516 be16_to_cpu(*(u16 *)&skb->data[MICROREAD_EMCF_A3_ATQA]);
517 targets->sel_res = skb->data[MICROREAD_EMCF_A3_SAK];
518 targets->nfcid1_len = skb->data[MICROREAD_EMCF_A3_LEN];
523 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_A3_UID],
528 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_B_UID], 4);
534 le16_to_cpu(*(u16 *)&skb->data[MICROREAD_EMCF_T1_ATQA]);
535 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_T1_UID], 4);
540 memcpy(targets->nfcid1, &skb->data[MICROREAD_EMCF_T3_UID], 8);
554 kfree_skb(skb);
561 u8 event, struct sk_buff *skb)
570 microread_target_discovered(hdev, gate, skb);
574 if (skb->len < 1) {
575 kfree_skb(skb);
579 if (skb->data[skb->len - 1]) {
580 kfree_skb(skb);
584 skb_trim(skb, skb->len - 1);
586 r = nfc_tm_data_received(hdev->ndev, skb);
591 kfree_skb(skb);
596 NFC_COMM_PASSIVE, skb->data,
597 skb->len);
599 kfree_skb(skb);
603 if (skb->len < 1) {
604 kfree_skb(skb);
608 if (skb->data[skb->len-1]) {
609 kfree_skb(skb);
613 skb_trim(skb, skb->len - 1);
615 r = nfc_tm_data_received(hdev->ndev, skb);
619 kfree_skb(skb);