bcsp->rx_skb->pkt_type = HCI_SCODATA_PKT; 
bt_cb(bcsp->rx_skb)->pkt_type = HCI_SCODATA_PKT; 
static inline void bcsp_complete_rx_pkt(struct hci_uart *hu){	struct bcsp_struct *bcsp = hu->priv;	int pass_up;	if (bcsp->rx_skb->data[0] & 0x80) {	/* reliable pkt */		BT_DBG("Received seqno %u from card", bcsp->rxseq_txack);		bcsp->rxseq_txack++;		bcsp->rxseq_txack %= 0x8;		bcsp->txack_req    = 1;		/* If needed, transmit an ack pkt */		hci_uart_tx_wakeup(hu);	}	bcsp->rxack = (bcsp->rx_skb->data[0] >> 3) & 0x07;	BT_DBG("Request for pkt %u from card", bcsp->rxack);	bcsp_pkt_cull(bcsp);	if ((bcsp->rx_skb->data[1] & 0x0f) == 6 &&			bcsp->rx_skb->data[0] & 0x80) {		bcsp->rx_skb->pkt_type = HCI_ACLDATA_PKT;		pass_up = 1;	} else if ((bcsp->rx_skb->data[1] & 0x0f) == 5 &&			bcsp->rx_skb->data[0] & 0x80) {		bcsp->rx_skb->pkt_type = HCI_EVENT_PKT;		pass_up = 1;	} else if ((bcsp->rx_skb->data[1] & 0x0f) == 7) {		bcsp->rx_skb->pkt_type = HCI_SCODATA_PKT;		pass_up = 1;	} else if ((bcsp->rx_skb->data[1] & 0x0f) == 1 &&			!(bcsp->rx_skb->data[0] & 0x80)) {		bcsp_handle_le_pkt(hu);		pass_up = 0;	} else		pass_up = 0;	if (!pass_up) {		struct hci_event_hdr hdr;		u8 desc = (bcsp->rx_skb->data[1] & 0x0f);		if (desc != 0 && desc != 1) {			if (hciextn) {				desc |= 0xc0;				skb_pull(bcsp->rx_skb, 4);				memcpy(skb_push(bcsp->rx_skb, 1), &desc, 1);				hdr.evt = 0xff;				hdr.plen = bcsp->rx_skb->len;				memcpy(skb_push(bcsp->rx_skb, HCI_EVENT_HDR_SIZE), &hdr, HCI_EVENT_HDR_SIZE);				bcsp->rx_skb->pkt_type = HCI_EVENT_PKT;				hci_recv_frame(bcsp->rx_skb);			} else {				BT_ERR ("Packet for unknown channel (%u %s)",					bcsp->rx_skb->data[1] & 0x0f,					bcsp->rx_skb->data[0] & 0x80 ? 					"reliable" : "unreliable");				kfree_skb(bcsp->rx_skb);			}		} else			kfree_skb(bcsp->rx_skb);	} else {		/* Pull out BCSP hdr */		skb_pull(bcsp->rx_skb, 4);		hci_recv_frame(bcsp->rx_skb);	}	bcsp->rx_state = BCSP_W4_PKT_DELIMITER;	bcsp->rx_skb = NULL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0d48d93947dd9ea21c5cdc76a8581b06a4a39281/hci_bcsp.c/buggy/drivers/bluetooth/hci_bcsp.c