Lines Matching refs:rx_skb

49 	struct	sk_buff *rx_skb;  member
405 if (bcsp->rx_skb->data[1] >> 4 == 4 && bcsp->rx_skb->data[2] == 0 && in bcsp_handle_le_pkt()
406 !memcmp(&bcsp->rx_skb->data[4], conf_pkt, 4)) { in bcsp_handle_le_pkt()
419 else if (bcsp->rx_skb->data[1] >> 4 == 4 && bcsp->rx_skb->data[2] == 0 && in bcsp_handle_le_pkt()
420 !memcmp(&bcsp->rx_skb->data[4], sync_pkt, 4)) { in bcsp_handle_le_pkt()
436 skb_put_data(bcsp->rx_skb, &byte, 1); in bcsp_unslip_one_byte()
437 if ((bcsp->rx_skb->data[0] & 0x40) != 0 && in bcsp_unslip_one_byte()
447 skb_put_data(bcsp->rx_skb, &c0, 1); in bcsp_unslip_one_byte()
448 if ((bcsp->rx_skb->data[0] & 0x40) != 0 && in bcsp_unslip_one_byte()
456 skb_put_data(bcsp->rx_skb, &db, 1); in bcsp_unslip_one_byte()
457 if ((bcsp->rx_skb->data[0] & 0x40) != 0 && in bcsp_unslip_one_byte()
466 kfree_skb(bcsp->rx_skb); in bcsp_unslip_one_byte()
467 bcsp->rx_skb = NULL; in bcsp_unslip_one_byte()
479 if (bcsp->rx_skb->data[0] & 0x80) { /* reliable pkt */ in bcsp_complete_rx_pkt()
483 if ((bcsp->rx_skb->data[0] & 0x07) == bcsp->rxseq_txack) { in bcsp_complete_rx_pkt()
491 bcsp->rx_skb->data[0] & 0x07, bcsp->rxseq_txack); in bcsp_complete_rx_pkt()
504 bcsp->rxack = (bcsp->rx_skb->data[0] >> 3) & 0x07; in bcsp_complete_rx_pkt()
513 if ((bcsp->rx_skb->data[1] & 0x0f) == 6 && in bcsp_complete_rx_pkt()
514 (bcsp->rx_skb->data[0] & 0x80)) { in bcsp_complete_rx_pkt()
515 hci_skb_pkt_type(bcsp->rx_skb) = HCI_ACLDATA_PKT; in bcsp_complete_rx_pkt()
517 } else if ((bcsp->rx_skb->data[1] & 0x0f) == 5 && in bcsp_complete_rx_pkt()
518 (bcsp->rx_skb->data[0] & 0x80)) { in bcsp_complete_rx_pkt()
519 hci_skb_pkt_type(bcsp->rx_skb) = HCI_EVENT_PKT; in bcsp_complete_rx_pkt()
521 } else if ((bcsp->rx_skb->data[1] & 0x0f) == 7) { in bcsp_complete_rx_pkt()
522 hci_skb_pkt_type(bcsp->rx_skb) = HCI_SCODATA_PKT; in bcsp_complete_rx_pkt()
524 } else if ((bcsp->rx_skb->data[1] & 0x0f) == 1 && in bcsp_complete_rx_pkt()
525 !(bcsp->rx_skb->data[0] & 0x80)) { in bcsp_complete_rx_pkt()
535 u8 desc = (bcsp->rx_skb->data[1] & 0x0f); in bcsp_complete_rx_pkt()
540 skb_pull(bcsp->rx_skb, 4); in bcsp_complete_rx_pkt()
541 memcpy(skb_push(bcsp->rx_skb, 1), &desc, 1); in bcsp_complete_rx_pkt()
544 hdr.plen = bcsp->rx_skb->len; in bcsp_complete_rx_pkt()
545 memcpy(skb_push(bcsp->rx_skb, HCI_EVENT_HDR_SIZE), &hdr, HCI_EVENT_HDR_SIZE); in bcsp_complete_rx_pkt()
546 hci_skb_pkt_type(bcsp->rx_skb) = HCI_EVENT_PKT; in bcsp_complete_rx_pkt()
548 hci_recv_frame(hu->hdev, bcsp->rx_skb); in bcsp_complete_rx_pkt()
551 bcsp->rx_skb->data[1] & 0x0f, in bcsp_complete_rx_pkt()
552 bcsp->rx_skb->data[0] & 0x80 ? in bcsp_complete_rx_pkt()
554 kfree_skb(bcsp->rx_skb); in bcsp_complete_rx_pkt()
557 kfree_skb(bcsp->rx_skb); in bcsp_complete_rx_pkt()
560 skb_pull(bcsp->rx_skb, 4); in bcsp_complete_rx_pkt()
562 hci_recv_frame(hu->hdev, bcsp->rx_skb); in bcsp_complete_rx_pkt()
567 kfree_skb(bcsp->rx_skb); in bcsp_complete_rx_pkt()
571 bcsp->rx_skb = NULL; in bcsp_complete_rx_pkt()
576 return get_unaligned_be16(&bcsp->rx_skb->data[bcsp->rx_skb->len - 2]); in bscp_get_crc()
593 kfree_skb(bcsp->rx_skb); in bcsp_recv()
594 bcsp->rx_skb = NULL; in bcsp_recv()
606 if ((0xff & (u8)~(bcsp->rx_skb->data[0] + bcsp->rx_skb->data[1] + in bcsp_recv()
607 bcsp->rx_skb->data[2])) != bcsp->rx_skb->data[3]) { in bcsp_recv()
609 kfree_skb(bcsp->rx_skb); in bcsp_recv()
610 bcsp->rx_skb = NULL; in bcsp_recv()
616 bcsp->rx_count = (bcsp->rx_skb->data[1] >> 4) + in bcsp_recv()
617 (bcsp->rx_skb->data[2] << 4); /* May be 0 */ in bcsp_recv()
621 if (bcsp->rx_skb->data[0] & 0x40) { /* pkt with crc */ in bcsp_recv()
634 kfree_skb(bcsp->rx_skb); in bcsp_recv()
635 bcsp->rx_skb = NULL; in bcsp_recv()
640 skb_trim(bcsp->rx_skb, bcsp->rx_skb->len - 2); in bcsp_recv()
673 bcsp->rx_skb = bt_skb_alloc(0x1005, GFP_ATOMIC); in bcsp_recv()
674 if (!bcsp->rx_skb) { in bcsp_recv()
750 if (bcsp->rx_skb) { in bcsp_close()
751 kfree_skb(bcsp->rx_skb); in bcsp_close()
752 bcsp->rx_skb = NULL; in bcsp_close()