• Home
  • Raw
  • Download

Lines Matching refs:p_buf

90 static void    process_s_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf, UINT16 ctrl_word);
91 static void process_i_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf, UINT16 ctrl_word, BOOLEAN delay_ack…
93 static void prepare_I_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf, BOOLEAN is_retransmission);
94 static void process_stream_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf);
95 static BOOLEAN do_sar_reassembly (tL2C_CCB *p_ccb, BT_HDR *p_buf, UINT16 ctrl_word);
134 static UINT16 l2c_fcr_tx_get_fcs (BT_HDR *p_buf) in l2c_fcr_tx_get_fcs() argument
136 UINT8 *p = ((UINT8 *) (p_buf + 1)) + p_buf->offset; in l2c_fcr_tx_get_fcs()
138 return (l2c_fcr_updcrc (L2CAP_FCR_INIT_CRC, p, p_buf->len)); in l2c_fcr_tx_get_fcs()
150 static UINT16 l2c_fcr_rx_get_fcs (BT_HDR *p_buf) in l2c_fcr_rx_get_fcs() argument
152 UINT8 *p = ((UINT8 *) (p_buf + 1)) + p_buf->offset; in l2c_fcr_rx_get_fcs()
157 return (l2c_fcr_updcrc (L2CAP_FCR_INIT_CRC, p, p_buf->len + L2CAP_PKT_OVERHEAD)); in l2c_fcr_rx_get_fcs()
325 BT_HDR *l2c_fcr_clone_buf (BT_HDR *p_buf, UINT16 new_offset, UINT16 no_of_bytes, UINT8 pool) in l2c_fcr_clone_buf() argument
327 assert(p_buf != NULL); in l2c_fcr_clone_buf()
357 ((UINT8 *)(p_buf + 1)) + p_buf->offset, in l2c_fcr_clone_buf()
412 static void prepare_I_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf, BOOLEAN is_retransmission) in prepare_I_frame() argument
415 assert(p_buf != NULL); in prepare_I_frame()
427 p = ((UINT8 *) (p_buf+1)) + p_buf->offset + L2CAP_PKT_OVERHEAD; in prepare_I_frame()
435 ctrl_word = p_buf->layer_specific & L2CAP_FCR_SEG_BITS; /* SAR bits */ in prepare_I_frame()
456 p = ((UINT8 *) (p_buf+1)) + p_buf->offset + L2CAP_PKT_OVERHEAD; in prepare_I_frame()
464 p = ((UINT8 *) (p_buf+1)) + p_buf->offset; in prepare_I_frame()
465 UINT16_TO_STREAM (p, p_buf->len + L2CAP_FCS_LEN - L2CAP_PKT_OVERHEAD); in prepare_I_frame()
468 fcs = l2c_fcr_tx_get_fcs(p_buf); in prepare_I_frame()
471 p = ((UINT8 *) (p_buf+1)) + p_buf->offset + p_buf->len; in prepare_I_frame()
475 p_buf->len += L2CAP_FCS_LEN; in prepare_I_frame()
482 p_ccb->local_cid, p_buf->len, in prepare_I_frame()
491 p_ccb->local_cid, p_buf->len, in prepare_I_frame()
516 BT_HDR *p_buf; in l2c_fcr_send_S_frame() local
541 if ((p_buf = (BT_HDR *)GKI_getpoolbuf (L2CAP_CMD_POOL_ID)) != NULL) in l2c_fcr_send_S_frame()
543 p_buf->offset = HCI_DATA_PREAMBLE_SIZE; in l2c_fcr_send_S_frame()
544 p_buf->len = L2CAP_PKT_OVERHEAD + L2CAP_FCR_OVERHEAD; in l2c_fcr_send_S_frame()
547 p = (UINT8 *)(p_buf + 1) + p_buf->offset; in l2c_fcr_send_S_frame()
557 fcs = l2c_fcr_tx_get_fcs (p_buf); in l2c_fcr_send_S_frame()
560 p_buf->len += L2CAP_FCS_LEN; in l2c_fcr_send_S_frame()
569 p_buf->layer_specific = L2CAP_NON_FLUSHABLE_PKT; in l2c_fcr_send_S_frame()
570 l2cu_set_acl_hci_header (p_buf, p_ccb); in l2c_fcr_send_S_frame()
582 L2CAP_TRACE_WARNING (" Buf Len: %u", p_buf->len); in l2c_fcr_send_S_frame()
592 L2CAP_TRACE_EVENT (" Buf Len: %u", p_buf->len); in l2c_fcr_send_S_frame()
596 l2c_link_check_send_pkts (p_ccb->p_lcb, NULL, p_buf); in l2c_fcr_send_S_frame()
621 void l2c_fcr_proc_pdu (tL2C_CCB *p_ccb, BT_HDR *p_buf) in l2c_fcr_proc_pdu() argument
624 assert(p_buf != NULL); in l2c_fcr_proc_pdu()
634 if (p_buf->len < min_pdu_len) in l2c_fcr_proc_pdu()
636 …L2CAP_TRACE_WARNING ("Rx L2CAP PDU: CID: 0x%04x Len too short: %u", p_ccb->local_cid, p_buf->len); in l2c_fcr_proc_pdu()
637 GKI_freebuf (p_buf); in l2c_fcr_proc_pdu()
643 process_stream_frame (p_ccb, p_buf); in l2c_fcr_proc_pdu()
649 p = ((UINT8 *)(p_buf+1)) + p_buf->offset; in l2c_fcr_proc_pdu()
659 p_ccb->local_cid, p_buf->len, in l2c_fcr_proc_pdu()
668 p_ccb->local_cid, p_buf->len, in l2c_fcr_proc_pdu()
678 p_ccb->local_cid, p_buf->len, in l2c_fcr_proc_pdu()
694 p = ((UINT8 *)(p_buf+1)) + p_buf->offset + p_buf->len - L2CAP_FCS_LEN; in l2c_fcr_proc_pdu()
698 p_buf->len -= L2CAP_FCS_LEN; in l2c_fcr_proc_pdu()
700 if (l2c_fcr_rx_get_fcs(p_buf) != fcs) in l2c_fcr_proc_pdu()
703 GKI_freebuf(p_buf); in l2c_fcr_proc_pdu()
709 p = ((UINT8 *)(p_buf+1)) + p_buf->offset; in l2c_fcr_proc_pdu()
713 p_buf->len -= L2CAP_FCR_OVERHEAD; in l2c_fcr_proc_pdu()
714 p_buf->offset += L2CAP_FCR_OVERHEAD; in l2c_fcr_proc_pdu()
737 GKI_freebuf (p_buf); in l2c_fcr_proc_pdu()
761 GKI_freebuf (p_buf); in l2c_fcr_proc_pdu()
767 process_s_frame (p_ccb, p_buf, ctrl_word); in l2c_fcr_proc_pdu()
769 process_i_frame (p_ccb, p_buf, ctrl_word, FALSE); in l2c_fcr_proc_pdu()
782 while ((p_buf = (BT_HDR *)GKI_dequeue (&temp_q)) != NULL) in l2c_fcr_proc_pdu()
787 p = ((UINT8 *)(p_buf+1)) + p_buf->offset - L2CAP_FCR_OVERHEAD; in l2c_fcr_proc_pdu()
796 process_i_frame (p_ccb, p_buf, ctrl_word, TRUE); in l2c_fcr_proc_pdu()
799 GKI_freebuf (p_buf); in l2c_fcr_proc_pdu()
997 static void process_s_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf, UINT16 ctrl_word) in process_s_frame() argument
1000 assert(p_buf != NULL); in process_s_frame()
1007 if (p_buf->len != 0) in process_s_frame()
1009 L2CAP_TRACE_WARNING ("Incorrect S-frame Length (%d)", p_buf->len); in process_s_frame()
1070 GKI_freebuf (p_buf); in process_s_frame()
1083 static void process_i_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf, UINT16 ctrl_word, BOOLEAN delay_ack) in process_i_frame() argument
1086 assert(p_buf != NULL); in process_i_frame()
1096 GKI_freebuf(p_buf); in process_i_frame()
1103 p_ccb->fcrb.ertm_byte_counts[1] += p_buf->len; in process_i_frame()
1114 GKI_freebuf(p_buf); in process_i_frame()
1125 GKI_freebuf(p_buf); in process_i_frame()
1139 GKI_freebuf(p_buf); in process_i_frame()
1159 p_buf->offset -= L2CAP_FCR_OVERHEAD; in process_i_frame()
1160 p_buf->len += L2CAP_FCR_OVERHEAD; in process_i_frame()
1162 … p_buf2 = l2c_fcr_clone_buf (p_buf, p_buf->offset, p_buf->len, p_ccb->ertm_info.fcr_rx_pool_id); in process_i_frame()
1166 GKI_freebuf (p_buf); in process_i_frame()
1167 p_buf = p_buf2; in process_i_frame()
1169 p_buf->offset += L2CAP_FCR_OVERHEAD; in process_i_frame()
1170 p_buf->len -= L2CAP_FCR_OVERHEAD; in process_i_frame()
1175 p_buf->layer_specific = tx_seq; in process_i_frame()
1176 GKI_enqueue (&p_fcrb->srej_rcv_hold_q, p_buf); in process_i_frame()
1184 GKI_freebuf (p_buf); in process_i_frame()
1193 GKI_freebuf (p_buf); in process_i_frame()
1203 GKI_freebuf (p_buf); in process_i_frame()
1214 p_buf->layer_specific = tx_seq; in process_i_frame()
1215 GKI_enqueue (&p_fcrb->srej_rcv_hold_q, p_buf); in process_i_frame()
1233 if (!do_sar_reassembly (p_ccb, p_buf, ctrl_word)) in process_i_frame()
1280 static void process_stream_frame (tL2C_CCB *p_ccb, BT_HDR *p_buf) in process_stream_frame() argument
1283 assert(p_buf != NULL); in process_stream_frame()
1293 p = ((UINT8 *)(p_buf+1)) + p_buf->offset + p_buf->len - L2CAP_FCS_LEN; in process_stream_frame()
1297 p_buf->len -= L2CAP_FCS_LEN; in process_stream_frame()
1299 if (l2c_fcr_rx_get_fcs(p_buf) != fcs) in process_stream_frame()
1302 GKI_freebuf(p_buf); in process_stream_frame()
1308 p = ((UINT8 *)(p_buf+1)) + p_buf->offset; in process_stream_frame()
1312 p_buf->len -= L2CAP_FCR_OVERHEAD; in process_stream_frame()
1313 p_buf->offset += L2CAP_FCR_OVERHEAD; in process_stream_frame()
1319 GKI_freebuf (p_buf); in process_stream_frame()
1325 p_ccb->local_cid, p_buf->len, in process_stream_frame()
1351 if (!do_sar_reassembly (p_ccb, p_buf, ctrl_word)) in process_stream_frame()
1372 static BOOLEAN do_sar_reassembly (tL2C_CCB *p_ccb, BT_HDR *p_buf, UINT16 ctrl_word) in do_sar_reassembly() argument
1375 assert(p_buf != NULL); in do_sar_reassembly()
1393 if ( (sar_type == L2CAP_FCR_START_SDU) && (p_buf->len < L2CAP_SDU_LEN_OVERHEAD) ) in do_sar_reassembly()
1395 L2CAP_TRACE_WARNING ("SAR start packet too short: %u", p_buf->len); in do_sar_reassembly()
1410 p = ((UINT8 *)(p_buf + 1)) + p_buf->offset; in do_sar_reassembly()
1417 p_buf->offset += 2; in do_sar_reassembly()
1418 p_buf->len -= 2; in do_sar_reassembly()
1439 if ((p_fcrb->p_rx_sdu->len + p_buf->len) > p_fcrb->rx_sdu_len) in do_sar_reassembly()
1442 … sar_type, p_fcrb->p_rx_sdu->len, p_buf->len, p_fcrb->rx_sdu_len); in do_sar_reassembly()
1445 …else if ( (sar_type == L2CAP_FCR_END_SDU) && ((p_fcrb->p_rx_sdu->len + p_buf->len) != p_fcrb->rx_s… in do_sar_reassembly()
1448 p_fcrb->p_rx_sdu->len, p_buf->len, p_fcrb->rx_sdu_len); in do_sar_reassembly()
1453 …INT8 *) (p_fcrb->p_rx_sdu + 1)) + p_fcrb->p_rx_sdu->offset + p_fcrb->p_rx_sdu->len, p, p_buf->len); in do_sar_reassembly()
1455 p_fcrb->p_rx_sdu->len += p_buf->len; in do_sar_reassembly()
1457 GKI_freebuf (p_buf); in do_sar_reassembly()
1458 p_buf = NULL; in do_sar_reassembly()
1462 p_buf = p_fcrb->p_rx_sdu; in do_sar_reassembly()
1471 GKI_freebuf (p_buf); in do_sar_reassembly()
1473 else if (p_buf != NULL) in do_sar_reassembly()
1481 (p_ccb->local_cid, p_ccb->p_lcb->remote_bd_addr, p_buf); in do_sar_reassembly()
1485 l2c_csm_execute (p_ccb, L2CEVT_L2CAP_DATA, p_buf); in do_sar_reassembly()
1505 BT_HDR *p_buf, *p_buf2; in retransmit_i_frames() local
1527 …for (p_buf = (BT_HDR *)GKI_getfirst(&p_ccb->fcrb.waiting_for_ack_q); p_buf; p_buf = (BT_HDR *)GKI_… in retransmit_i_frames()
1530 p = ((UINT8 *) (p_buf+1)) + p_buf->offset + L2CAP_PKT_OVERHEAD; in retransmit_i_frames()
1542 if (!p_buf) in retransmit_i_frames()
1554 BT_HDR *p_buf = (BT_HDR *)list_node(node); in retransmit_i_frames() local
1558 if ((p_buf->layer_specific == 0) && (p_buf->event == p_ccb->local_cid)) { in retransmit_i_frames()
1559 list_remove(p_ccb->p_lcb->link_xmit_data_q, p_buf); in retransmit_i_frames()
1560 GKI_freebuf(p_buf); in retransmit_i_frames()
1568 p_buf = (BT_HDR *)GKI_getfirst(&p_ccb->fcrb.waiting_for_ack_q); in retransmit_i_frames()
1571 while (p_buf != NULL) in retransmit_i_frames()
1573 … p_buf2 = l2c_fcr_clone_buf (p_buf, p_buf->offset, p_buf->len, p_ccb->ertm_info.fcr_tx_pool_id); in retransmit_i_frames()
1577 p_buf2->layer_specific = p_buf->layer_specific; in retransmit_i_frames()
1585 p_buf = (BT_HDR *)GKI_getnext (p_buf); in retransmit_i_frames()
1617 BT_HDR *p_buf, *p_xmit; in l2c_fcr_get_next_xmit_sdu_seg() local
1625 p_buf = (BT_HDR *)GKI_dequeue (&p_ccb->fcrb.retrans_q); in l2c_fcr_get_next_xmit_sdu_seg()
1628 prepare_I_frame (p_ccb, p_buf, TRUE); in l2c_fcr_get_next_xmit_sdu_seg()
1630 p_buf->event = p_ccb->local_cid; in l2c_fcr_get_next_xmit_sdu_seg()
1635 p_ccb->fcrb.ertm_byte_counts[0] += (p_buf->len - 8); in l2c_fcr_get_next_xmit_sdu_seg()
1637 return (p_buf); in l2c_fcr_get_next_xmit_sdu_seg()
1648 p_buf = (BT_HDR *)GKI_getfirst(&p_ccb->xmit_hold_q); in l2c_fcr_get_next_xmit_sdu_seg()
1651 if (p_buf->len > max_pdu) in l2c_fcr_get_next_xmit_sdu_seg()
1654 if (p_buf->event == 0) in l2c_fcr_get_next_xmit_sdu_seg()
1657 sdu_len = p_buf->len; in l2c_fcr_get_next_xmit_sdu_seg()
1663 p_xmit = l2c_fcr_clone_buf (p_buf, L2CAP_MIN_OFFSET + L2CAP_SDU_LEN_OFFSET, in l2c_fcr_get_next_xmit_sdu_seg()
1668 p_buf->event = p_ccb->local_cid; in l2c_fcr_get_next_xmit_sdu_seg()
1671 p_buf->len -= max_pdu; in l2c_fcr_get_next_xmit_sdu_seg()
1672 p_buf->offset += max_pdu; in l2c_fcr_get_next_xmit_sdu_seg()
1675 p_xmit->layer_specific = p_buf->layer_specific; in l2c_fcr_get_next_xmit_sdu_seg()
2272 BT_HDR *p_buf; in l2c_fcr_collect_ack_delay() local
2290 p_buf = (BT_HDR *)(p_ccb->fcrb.waiting_for_ack_q.p_first); in l2c_fcr_collect_ack_delay()
2291 for (xx = 0; (xx < num_bufs_acked)&&(p_buf); xx++) in l2c_fcr_collect_ack_delay()
2294 p_ccb->fcrb.throughput[index] += p_buf->len - 8; in l2c_fcr_collect_ack_delay()
2299 p = ((UINT8 *) (p_buf+1)) + p_buf->offset + p_buf->len; in l2c_fcr_collect_ack_delay()
2315 p_buf = GKI_getnext(p_buf); in l2c_fcr_collect_ack_delay()