Lines Matching refs:skb

129 	struct sk_buff *skb;  in st21nfca_tx_work()  local
133 skb = info->dep_info.tx_pending; in st21nfca_tx_work()
138 ST21NFCA_WR_XCHG_DATA, skb->data, skb->len, in st21nfca_tx_work()
141 kfree_skb(skb); in st21nfca_tx_work()
146 struct sk_buff *skb) in st21nfca_im_send_pdu() argument
148 info->dep_info.tx_pending = skb; in st21nfca_im_send_pdu()
156 struct sk_buff *skb; in st21nfca_tm_send_atr_res() local
162 skb = alloc_skb(atr_req->length + 1, GFP_KERNEL); in st21nfca_tm_send_atr_res()
163 if (!skb) in st21nfca_tm_send_atr_res()
166 skb_put(skb, sizeof(struct st21nfca_atr_res)); in st21nfca_tm_send_atr_res()
168 atr_res = (struct st21nfca_atr_res *)skb->data; in st21nfca_tm_send_atr_res()
182 skb_put(skb, gb_len); in st21nfca_tm_send_atr_res()
195 ST21NFCA_EVT_SEND_DATA, skb->data, skb->len); in st21nfca_tm_send_atr_res()
196 kfree_skb(skb); in st21nfca_tm_send_atr_res()
201 struct sk_buff *skb) in st21nfca_tm_recv_atr_req() argument
207 skb_trim(skb, skb->len - 1); in st21nfca_tm_recv_atr_req()
209 if (!skb->len) { in st21nfca_tm_recv_atr_req()
214 if (skb->len < ST21NFCA_ATR_REQ_MIN_SIZE) { in st21nfca_tm_recv_atr_req()
219 atr_req = (struct st21nfca_atr_req *)skb->data; in st21nfca_tm_recv_atr_req()
230 gb_len = skb->len - sizeof(struct st21nfca_atr_req); in st21nfca_tm_recv_atr_req()
247 struct sk_buff *skb; in st21nfca_tm_send_psl_res() local
251 skb = alloc_skb(sizeof(struct st21nfca_psl_res), GFP_KERNEL); in st21nfca_tm_send_psl_res()
252 if (!skb) in st21nfca_tm_send_psl_res()
254 skb_put(skb, sizeof(struct st21nfca_psl_res)); in st21nfca_tm_send_psl_res()
256 psl_res = (struct st21nfca_psl_res *)skb->data; in st21nfca_tm_send_psl_res()
264 ST21NFCA_EVT_SEND_DATA, skb->data, skb->len); in st21nfca_tm_send_psl_res()
285 kfree_skb(skb); in st21nfca_tm_send_psl_res()
290 struct sk_buff *skb) in st21nfca_tm_recv_psl_req() argument
295 skb_trim(skb, skb->len - 1); in st21nfca_tm_recv_psl_req()
297 if (!skb->len) { in st21nfca_tm_recv_psl_req()
302 psl_req = (struct st21nfca_psl_req *)skb->data; in st21nfca_tm_recv_psl_req()
304 if (skb->len < sizeof(struct st21nfca_psl_req)) { in st21nfca_tm_recv_psl_req()
314 int st21nfca_tm_send_dep_res(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_tm_send_dep_res() argument
319 *skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; in st21nfca_tm_send_dep_res()
320 *skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_RES; in st21nfca_tm_send_dep_res()
321 *skb_push(skb, 1) = ST21NFCA_NFCIP1_RES; in st21nfca_tm_send_dep_res()
322 *skb_push(skb, 1) = skb->len; in st21nfca_tm_send_dep_res()
325 ST21NFCA_EVT_SEND_DATA, skb->data, skb->len); in st21nfca_tm_send_dep_res()
326 kfree_skb(skb); in st21nfca_tm_send_dep_res()
333 struct sk_buff *skb) in st21nfca_tm_recv_dep_req() argument
340 skb_trim(skb, skb->len - 1); in st21nfca_tm_recv_dep_req()
344 dep_req = (struct st21nfca_dep_req_res *)skb->data; in st21nfca_tm_recv_dep_req()
345 if (skb->len < size) { in st21nfca_tm_recv_dep_req()
355 if (skb->len < size) { in st21nfca_tm_recv_dep_req()
374 skb_pull(skb, size); in st21nfca_tm_recv_dep_req()
376 return nfc_tm_data_received(hdev->ndev, skb); in st21nfca_tm_recv_dep_req()
382 struct sk_buff *skb) in st21nfca_tm_event_send_data() argument
387 cmd0 = skb->data[1]; in st21nfca_tm_event_send_data()
390 cmd1 = skb->data[2]; in st21nfca_tm_event_send_data()
393 r = st21nfca_tm_recv_atr_req(hdev, skb); in st21nfca_tm_event_send_data()
396 r = st21nfca_tm_recv_psl_req(hdev, skb); in st21nfca_tm_event_send_data()
399 r = st21nfca_tm_recv_dep_req(hdev, skb); in st21nfca_tm_event_send_data()
416 u8 event, struct sk_buff *skb) in st21nfca_dep_event_received() argument
434 r = st21nfca_tm_event_send_data(hdev, skb); in st21nfca_dep_event_received()
441 kfree_skb(skb); in st21nfca_dep_event_received()
449 struct sk_buff *skb; in st21nfca_im_send_psl_req() local
453 skb = in st21nfca_im_send_psl_req()
455 if (!skb) in st21nfca_im_send_psl_req()
457 skb_reserve(skb, 1); in st21nfca_im_send_psl_req()
459 skb_put(skb, sizeof(struct st21nfca_psl_req)); in st21nfca_im_send_psl_req()
460 psl_req = (struct st21nfca_psl_req *) skb->data; in st21nfca_im_send_psl_req()
469 *skb_push(skb, 1) = info->dep_info.to | 0x10; in st21nfca_im_send_psl_req()
471 st21nfca_im_send_pdu(info, skb); in st21nfca_im_send_psl_req()
475 static void st21nfca_im_recv_atr_res_cb(void *context, struct sk_buff *skb, in st21nfca_im_recv_atr_res_cb() argument
485 if (!skb) in st21nfca_im_recv_atr_res_cb()
490 skb_trim(skb, skb->len - 1); in st21nfca_im_recv_atr_res_cb()
491 atr_res = (struct st21nfca_atr_res *)skb->data; in st21nfca_im_recv_atr_res_cb()
494 skb->len - sizeof(struct st21nfca_atr_res)); in st21nfca_im_recv_atr_res_cb()
517 kfree_skb(skb); in st21nfca_im_recv_atr_res_cb()
524 struct sk_buff *skb; in st21nfca_im_send_atr_req() local
537 skb = in st21nfca_im_send_atr_req()
539 if (!skb) in st21nfca_im_send_atr_req()
542 skb_reserve(skb, 1); in st21nfca_im_send_atr_req()
544 skb_put(skb, sizeof(struct st21nfca_atr_req)); in st21nfca_im_send_atr_req()
546 atr_req = (struct st21nfca_atr_req *)skb->data; in st21nfca_im_send_atr_req()
567 memcpy(skb_put(skb, gb_len), gb, gb_len); in st21nfca_im_send_atr_req()
571 *skb_push(skb, 1) = info->dep_info.to | 0x10; /* timeout */ in st21nfca_im_send_atr_req()
581 ST21NFCA_WR_XCHG_DATA, skb->data, in st21nfca_im_send_atr_req()
582 skb->len, info->async_cb, info); in st21nfca_im_send_atr_req()
586 static void st21nfca_im_recv_dep_res_cb(void *context, struct sk_buff *skb, in st21nfca_im_recv_dep_res_cb() argument
597 if (!skb) in st21nfca_im_recv_dep_res_cb()
602 dep_res = (struct st21nfca_dep_req_res *)skb->data; in st21nfca_im_recv_dep_res_cb()
605 if (skb->len < size) in st21nfca_im_recv_dep_res_cb()
613 if (skb->len < size) in st21nfca_im_recv_dep_res_cb()
616 skb_trim(skb, skb->len - 1); in st21nfca_im_recv_dep_res_cb()
626 skb_pull(skb, size); in st21nfca_im_recv_dep_res_cb()
627 nfc_tm_data_received(info->hdev->ndev, skb); in st21nfca_im_recv_dep_res_cb()
631 skb_pull(skb, size); in st21nfca_im_recv_dep_res_cb()
632 *skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; in st21nfca_im_recv_dep_res_cb()
633 *skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; in st21nfca_im_recv_dep_res_cb()
634 *skb_push(skb, 1) = skb->len; in st21nfca_im_recv_dep_res_cb()
635 *skb_push(skb, 1) = info->dep_info.to | 0x10; in st21nfca_im_recv_dep_res_cb()
637 st21nfca_im_send_pdu(info, skb); in st21nfca_im_recv_dep_res_cb()
647 kfree_skb(skb); in st21nfca_im_recv_dep_res_cb()
650 int st21nfca_im_send_dep_req(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_im_send_dep_req() argument
658 *skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; in st21nfca_im_send_dep_req()
659 *skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; in st21nfca_im_send_dep_req()
660 *skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; in st21nfca_im_send_dep_req()
661 *skb_push(skb, 1) = skb->len; in st21nfca_im_send_dep_req()
663 *skb_push(skb, 1) = info->dep_info.to | 0x10; in st21nfca_im_send_dep_req()
667 skb->data, skb->len, in st21nfca_im_send_dep_req()