Lines Matching refs:skb
117 struct sk_buff *skb; in st21nfca_tx_work() local
121 skb = info->dep_info.tx_pending; in st21nfca_tx_work()
126 ST21NFCA_WR_XCHG_DATA, skb->data, skb->len, in st21nfca_tx_work()
129 kfree_skb(skb); in st21nfca_tx_work()
134 struct sk_buff *skb) in st21nfca_im_send_pdu() argument
136 info->dep_info.tx_pending = skb; in st21nfca_im_send_pdu()
144 struct sk_buff *skb; in st21nfca_tm_send_atr_res() local
150 skb = alloc_skb(atr_req->length + 1, GFP_KERNEL); in st21nfca_tm_send_atr_res()
151 if (!skb) in st21nfca_tm_send_atr_res()
154 skb_put(skb, sizeof(struct st21nfca_atr_res)); in st21nfca_tm_send_atr_res()
156 atr_res = (struct st21nfca_atr_res *)skb->data; in st21nfca_tm_send_atr_res()
170 skb_put(skb, gb_len); in st21nfca_tm_send_atr_res()
177 kfree_skb(skb); in st21nfca_tm_send_atr_res()
185 ST21NFCA_EVT_SEND_DATA, skb->data, skb->len); in st21nfca_tm_send_atr_res()
186 kfree_skb(skb); in st21nfca_tm_send_atr_res()
191 struct sk_buff *skb) in st21nfca_tm_recv_atr_req() argument
197 skb_trim(skb, skb->len - 1); in st21nfca_tm_recv_atr_req()
199 if (!skb->len) in st21nfca_tm_recv_atr_req()
202 if (skb->len < ST21NFCA_ATR_REQ_MIN_SIZE) in st21nfca_tm_recv_atr_req()
205 atr_req = (struct st21nfca_atr_req *)skb->data; in st21nfca_tm_recv_atr_req()
214 gb_len = skb->len - sizeof(struct st21nfca_atr_req); in st21nfca_tm_recv_atr_req()
228 struct sk_buff *skb; in st21nfca_tm_send_psl_res() local
232 skb = alloc_skb(sizeof(struct st21nfca_psl_res), GFP_KERNEL); in st21nfca_tm_send_psl_res()
233 if (!skb) in st21nfca_tm_send_psl_res()
235 skb_put(skb, sizeof(struct st21nfca_psl_res)); in st21nfca_tm_send_psl_res()
237 psl_res = (struct st21nfca_psl_res *)skb->data; in st21nfca_tm_send_psl_res()
245 ST21NFCA_EVT_SEND_DATA, skb->data, skb->len); in st21nfca_tm_send_psl_res()
266 kfree_skb(skb); in st21nfca_tm_send_psl_res()
271 struct sk_buff *skb) in st21nfca_tm_recv_psl_req() argument
275 skb_trim(skb, skb->len - 1); in st21nfca_tm_recv_psl_req()
277 if (!skb->len) in st21nfca_tm_recv_psl_req()
280 psl_req = (struct st21nfca_psl_req *)skb->data; in st21nfca_tm_recv_psl_req()
282 if (skb->len < sizeof(struct st21nfca_psl_req)) in st21nfca_tm_recv_psl_req()
288 int st21nfca_tm_send_dep_res(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_tm_send_dep_res() argument
293 *(u8 *)skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; in st21nfca_tm_send_dep_res()
294 *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_RES; in st21nfca_tm_send_dep_res()
295 *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_RES; in st21nfca_tm_send_dep_res()
296 *(u8 *)skb_push(skb, 1) = skb->len; in st21nfca_tm_send_dep_res()
299 ST21NFCA_EVT_SEND_DATA, skb->data, skb->len); in st21nfca_tm_send_dep_res()
300 kfree_skb(skb); in st21nfca_tm_send_dep_res()
307 struct sk_buff *skb) in st21nfca_tm_recv_dep_req() argument
313 skb_trim(skb, skb->len - 1); in st21nfca_tm_recv_dep_req()
317 dep_req = (struct st21nfca_dep_req_res *)skb->data; in st21nfca_tm_recv_dep_req()
318 if (skb->len < size) in st21nfca_tm_recv_dep_req()
326 if (skb->len < size) in st21nfca_tm_recv_dep_req()
343 skb_pull(skb, size); in st21nfca_tm_recv_dep_req()
345 return nfc_tm_data_received(hdev->ndev, skb); in st21nfca_tm_recv_dep_req()
349 struct sk_buff *skb) in st21nfca_tm_event_send_data() argument
354 cmd0 = skb->data[1]; in st21nfca_tm_event_send_data()
357 cmd1 = skb->data[2]; in st21nfca_tm_event_send_data()
360 r = st21nfca_tm_recv_atr_req(hdev, skb); in st21nfca_tm_event_send_data()
363 r = st21nfca_tm_recv_psl_req(hdev, skb); in st21nfca_tm_event_send_data()
366 r = st21nfca_tm_recv_dep_req(hdev, skb); in st21nfca_tm_event_send_data()
384 u8 event, struct sk_buff *skb) in st21nfca_dep_event_received() argument
402 r = st21nfca_tm_event_send_data(hdev, skb); in st21nfca_dep_event_received()
410 kfree_skb(skb); in st21nfca_dep_event_received()
418 struct sk_buff *skb; in st21nfca_im_send_psl_req() local
422 skb = in st21nfca_im_send_psl_req()
424 if (!skb) in st21nfca_im_send_psl_req()
426 skb_reserve(skb, 1); in st21nfca_im_send_psl_req()
428 skb_put(skb, sizeof(struct st21nfca_psl_req)); in st21nfca_im_send_psl_req()
429 psl_req = (struct st21nfca_psl_req *) skb->data; in st21nfca_im_send_psl_req()
438 *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; in st21nfca_im_send_psl_req()
440 st21nfca_im_send_pdu(info, skb); in st21nfca_im_send_psl_req()
444 static void st21nfca_im_recv_atr_res_cb(void *context, struct sk_buff *skb, in st21nfca_im_recv_atr_res_cb() argument
454 if (!skb) in st21nfca_im_recv_atr_res_cb()
459 skb_trim(skb, skb->len - 1); in st21nfca_im_recv_atr_res_cb()
460 atr_res = (struct st21nfca_atr_res *)skb->data; in st21nfca_im_recv_atr_res_cb()
463 skb->len - sizeof(struct st21nfca_atr_res)); in st21nfca_im_recv_atr_res_cb()
486 kfree_skb(skb); in st21nfca_im_recv_atr_res_cb()
493 struct sk_buff *skb; in st21nfca_im_send_atr_req() local
506 skb = in st21nfca_im_send_atr_req()
508 if (!skb) in st21nfca_im_send_atr_req()
511 skb_reserve(skb, 1); in st21nfca_im_send_atr_req()
513 skb_put(skb, sizeof(struct st21nfca_atr_req)); in st21nfca_im_send_atr_req()
515 atr_req = (struct st21nfca_atr_req *)skb->data; in st21nfca_im_send_atr_req()
536 skb_put_data(skb, gb, gb_len); in st21nfca_im_send_atr_req()
540 *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; /* timeout */ in st21nfca_im_send_atr_req()
550 ST21NFCA_WR_XCHG_DATA, skb->data, in st21nfca_im_send_atr_req()
551 skb->len, info->async_cb, info); in st21nfca_im_send_atr_req()
555 static void st21nfca_im_recv_dep_res_cb(void *context, struct sk_buff *skb, in st21nfca_im_recv_dep_res_cb() argument
566 if (!skb) in st21nfca_im_recv_dep_res_cb()
571 dep_res = (struct st21nfca_dep_req_res *)skb->data; in st21nfca_im_recv_dep_res_cb()
574 if (skb->len < size) in st21nfca_im_recv_dep_res_cb()
582 if (skb->len < size) in st21nfca_im_recv_dep_res_cb()
585 skb_trim(skb, skb->len - 1); in st21nfca_im_recv_dep_res_cb()
596 skb_pull(skb, size); in st21nfca_im_recv_dep_res_cb()
597 nfc_tm_data_received(info->hdev->ndev, skb); in st21nfca_im_recv_dep_res_cb()
601 skb_pull(skb, size); in st21nfca_im_recv_dep_res_cb()
602 *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; in st21nfca_im_recv_dep_res_cb()
603 *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; in st21nfca_im_recv_dep_res_cb()
604 *(u8 *)skb_push(skb, 1) = skb->len; in st21nfca_im_recv_dep_res_cb()
605 *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; in st21nfca_im_recv_dep_res_cb()
607 st21nfca_im_send_pdu(info, skb); in st21nfca_im_recv_dep_res_cb()
617 kfree_skb(skb); in st21nfca_im_recv_dep_res_cb()
620 int st21nfca_im_send_dep_req(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_im_send_dep_req() argument
628 *(u8 *)skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; in st21nfca_im_send_dep_req()
629 *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; in st21nfca_im_send_dep_req()
630 *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; in st21nfca_im_send_dep_req()
631 *(u8 *)skb_push(skb, 1) = skb->len; in st21nfca_im_send_dep_req()
633 *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; in st21nfca_im_send_dep_req()
637 skb->data, skb->len, in st21nfca_im_send_dep_req()