Lines Matching refs:skb
145 struct sk_buff *skb) in digital_skb_push_dep_sod() argument
147 skb_push(skb, sizeof(u8)); in digital_skb_push_dep_sod()
149 skb->data[0] = skb->len; in digital_skb_push_dep_sod()
152 *skb_push(skb, sizeof(u8)) = DIGITAL_NFC_DEP_NFCA_SOD_SB; in digital_skb_push_dep_sod()
156 struct sk_buff *skb) in digital_skb_pull_dep_sod() argument
160 if (skb->len < 2) in digital_skb_pull_dep_sod()
164 skb_pull(skb, sizeof(u8)); in digital_skb_pull_dep_sod()
166 size = skb->data[0]; in digital_skb_pull_dep_sod()
167 if (size != skb->len) in digital_skb_pull_dep_sod()
170 skb_pull(skb, sizeof(u8)); in digital_skb_pull_dep_sod()
176 digital_send_dep_data_prep(struct nfc_digital_dev *ddev, struct sk_buff *skb, in digital_send_dep_data_prep() argument
182 if (skb->len > ddev->remote_payload_max) { in digital_send_dep_data_prep()
195 memcpy(skb_put(new_skb, ddev->remote_payload_max), skb->data, in digital_send_dep_data_prep()
197 skb_pull(skb, ddev->remote_payload_max); in digital_send_dep_data_prep()
199 ddev->chaining_skb = skb; in digital_send_dep_data_prep()
203 new_skb = skb; in digital_send_dep_data_prep()
342 struct sk_buff *skb; in digital_in_send_psl_req() local
347 skb = digital_skb_alloc(ddev, sizeof(*psl_req)); in digital_in_send_psl_req()
348 if (!skb) in digital_in_send_psl_req()
351 skb_put(skb, sizeof(*psl_req)); in digital_in_send_psl_req()
353 psl_req = (struct digital_psl_req *)skb->data; in digital_in_send_psl_req()
367 digital_skb_push_dep_sod(ddev, skb); in digital_in_send_psl_req()
369 ddev->skb_add_crc(skb); in digital_in_send_psl_req()
371 rc = digital_in_send_cmd(ddev, skb, 500, digital_in_recv_psl_res, in digital_in_send_psl_req()
374 kfree_skb(skb); in digital_in_send_psl_req()
449 struct sk_buff *skb; in digital_in_send_atr_req() local
462 skb = digital_skb_alloc(ddev, size); in digital_in_send_atr_req()
463 if (!skb) in digital_in_send_atr_req()
466 skb_put(skb, sizeof(struct digital_atr_req)); in digital_in_send_atr_req()
468 atr_req = (struct digital_atr_req *)skb->data; in digital_in_send_atr_req()
488 memcpy(skb_put(skb, gb_len), gb, gb_len); in digital_in_send_atr_req()
491 digital_skb_push_dep_sod(ddev, skb); in digital_in_send_atr_req()
493 ddev->skb_add_crc(skb); in digital_in_send_atr_req()
495 rc = digital_in_send_cmd(ddev, skb, 500, digital_in_recv_atr_res, in digital_in_send_atr_req()
498 kfree_skb(skb); in digital_in_send_atr_req()
507 struct sk_buff *skb; in digital_in_send_ack() local
510 skb = digital_skb_alloc(ddev, 1); in digital_in_send_ack()
511 if (!skb) in digital_in_send_ack()
514 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_in_send_ack()
516 dep_req = (struct digital_dep_req_res *)skb->data; in digital_in_send_ack()
523 digital_skb_push_dep_sod(ddev, skb); in digital_in_send_ack()
525 ddev->skb_add_crc(skb); in digital_in_send_ack()
527 ddev->saved_skb = skb_get(skb); in digital_in_send_ack()
528 ddev->saved_skb_len = skb->len; in digital_in_send_ack()
530 rc = digital_in_send_cmd(ddev, skb, 1500, digital_in_recv_dep_res, in digital_in_send_ack()
533 kfree_skb(skb); in digital_in_send_ack()
545 struct sk_buff *skb; in digital_in_send_nack() local
548 skb = digital_skb_alloc(ddev, 1); in digital_in_send_nack()
549 if (!skb) in digital_in_send_nack()
552 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_in_send_nack()
554 dep_req = (struct digital_dep_req_res *)skb->data; in digital_in_send_nack()
561 digital_skb_push_dep_sod(ddev, skb); in digital_in_send_nack()
563 ddev->skb_add_crc(skb); in digital_in_send_nack()
565 rc = digital_in_send_cmd(ddev, skb, 1500, digital_in_recv_dep_res, in digital_in_send_nack()
568 kfree_skb(skb); in digital_in_send_nack()
577 struct sk_buff *skb; in digital_in_send_atn() local
580 skb = digital_skb_alloc(ddev, 1); in digital_in_send_atn()
581 if (!skb) in digital_in_send_atn()
584 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_in_send_atn()
586 dep_req = (struct digital_dep_req_res *)skb->data; in digital_in_send_atn()
592 digital_skb_push_dep_sod(ddev, skb); in digital_in_send_atn()
594 ddev->skb_add_crc(skb); in digital_in_send_atn()
596 rc = digital_in_send_cmd(ddev, skb, 1500, digital_in_recv_dep_res, in digital_in_send_atn()
599 kfree_skb(skb); in digital_in_send_atn()
608 struct sk_buff *skb; in digital_in_send_rtox() local
611 skb = digital_skb_alloc(ddev, 1); in digital_in_send_rtox()
612 if (!skb) in digital_in_send_rtox()
615 *skb_put(skb, 1) = rtox; in digital_in_send_rtox()
617 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_in_send_rtox()
619 dep_req = (struct digital_dep_req_res *)skb->data; in digital_in_send_rtox()
626 digital_skb_push_dep_sod(ddev, skb); in digital_in_send_rtox()
628 ddev->skb_add_crc(skb); in digital_in_send_rtox()
630 ddev->saved_skb = skb_get(skb); in digital_in_send_rtox()
631 ddev->saved_skb_len = skb->len; in digital_in_send_rtox()
633 rc = digital_in_send_cmd(ddev, skb, 1500, digital_in_recv_dep_res, in digital_in_send_rtox()
636 kfree_skb(skb); in digital_in_send_rtox()
851 struct nfc_target *target, struct sk_buff *skb, in digital_in_send_dep_req() argument
858 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_in_send_dep_req()
860 dep_req = (struct digital_dep_req_res *)skb->data; in digital_in_send_dep_req()
871 tmp_skb = digital_send_dep_data_prep(ddev, skb, dep_req, data_exch); in digital_in_send_dep_req()
885 if (tmp_skb != skb) in digital_in_send_dep_req()
929 struct sk_buff *skb; in digital_tg_send_ack() local
932 skb = digital_skb_alloc(ddev, 1); in digital_tg_send_ack()
933 if (!skb) in digital_tg_send_ack()
936 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_tg_send_ack()
938 dep_res = (struct digital_dep_req_res *)skb->data; in digital_tg_send_ack()
948 memcpy(skb_put(skb, sizeof(ddev->did)), &ddev->did, in digital_tg_send_ack()
955 digital_skb_push_dep_sod(ddev, skb); in digital_tg_send_ack()
957 ddev->skb_add_crc(skb); in digital_tg_send_ack()
959 ddev->saved_skb = skb_get(skb); in digital_tg_send_ack()
960 ddev->saved_skb_len = skb->len; in digital_tg_send_ack()
962 rc = digital_tg_send_cmd(ddev, skb, 1500, digital_tg_recv_dep_req, in digital_tg_send_ack()
965 kfree_skb(skb); in digital_tg_send_ack()
976 struct sk_buff *skb; in digital_tg_send_atn() local
979 skb = digital_skb_alloc(ddev, 1); in digital_tg_send_atn()
980 if (!skb) in digital_tg_send_atn()
983 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_tg_send_atn()
985 dep_res = (struct digital_dep_req_res *)skb->data; in digital_tg_send_atn()
994 memcpy(skb_put(skb, sizeof(ddev->did)), &ddev->did, in digital_tg_send_atn()
998 digital_skb_push_dep_sod(ddev, skb); in digital_tg_send_atn()
1000 ddev->skb_add_crc(skb); in digital_tg_send_atn()
1002 rc = digital_tg_send_cmd(ddev, skb, 1500, digital_tg_recv_dep_req, in digital_tg_send_atn()
1005 kfree_skb(skb); in digital_tg_send_atn()
1204 int digital_tg_send_dep_res(struct nfc_digital_dev *ddev, struct sk_buff *skb) in digital_tg_send_dep_res() argument
1210 skb_push(skb, sizeof(struct digital_dep_req_res)); in digital_tg_send_dep_res()
1212 dep_res = (struct digital_dep_req_res *)skb->data; in digital_tg_send_dep_res()
1221 memcpy(skb_put(skb, sizeof(ddev->did)), &ddev->did, in digital_tg_send_dep_res()
1230 tmp_skb = digital_send_dep_data_prep(ddev, skb, dep_res, NULL); in digital_tg_send_dep_res()
1244 if (tmp_skb != skb) in digital_tg_send_dep_res()
1278 struct sk_buff *skb; in digital_tg_send_psl_res() local
1281 skb = digital_skb_alloc(ddev, sizeof(struct digital_psl_res)); in digital_tg_send_psl_res()
1282 if (!skb) in digital_tg_send_psl_res()
1285 skb_put(skb, sizeof(struct digital_psl_res)); in digital_tg_send_psl_res()
1287 psl_res = (struct digital_psl_res *)skb->data; in digital_tg_send_psl_res()
1293 digital_skb_push_dep_sod(ddev, skb); in digital_tg_send_psl_res()
1295 ddev->skb_add_crc(skb); in digital_tg_send_psl_res()
1299 rc = digital_tg_send_cmd(ddev, skb, 0, digital_tg_send_psl_res_complete, in digital_tg_send_psl_res()
1302 kfree_skb(skb); in digital_tg_send_psl_res()
1402 struct sk_buff *skb; in digital_tg_send_atr_res() local
1411 skb = digital_skb_alloc(ddev, sizeof(struct digital_atr_res) + gb_len); in digital_tg_send_atr_res()
1412 if (!skb) in digital_tg_send_atr_res()
1415 skb_put(skb, sizeof(struct digital_atr_res)); in digital_tg_send_atr_res()
1416 atr_res = (struct digital_atr_res *)skb->data; in digital_tg_send_atr_res()
1430 skb_put(skb, gb_len); in digital_tg_send_atr_res()
1436 digital_skb_push_dep_sod(ddev, skb); in digital_tg_send_atr_res()
1438 ddev->skb_add_crc(skb); in digital_tg_send_atr_res()
1442 rc = digital_tg_send_cmd(ddev, skb, 999, in digital_tg_send_atr_res()
1445 kfree_skb(skb); in digital_tg_send_atr_res()