skb->pkt_type = HCI_ACLDATA_PKT; 
bt_cb(skb)->pkt_type = HCI_ACLDATA_PKT; 
int hci_send_acl(struct hci_conn *conn, struct sk_buff *skb, __u16 flags){	struct hci_dev *hdev = conn->hdev;	struct sk_buff *list;	BT_DBG("%s conn %p flags 0x%x", hdev->name, conn, flags);	skb->dev = (void *) hdev;	skb->pkt_type = HCI_ACLDATA_PKT;	hci_add_acl_hdr(skb, conn->handle, flags | ACL_START);	if (!(list = skb_shinfo(skb)->frag_list)) {		/* Non fragmented */		BT_DBG("%s nonfrag skb %p len %d", hdev->name, skb, skb->len);		skb_queue_tail(&conn->data_q, skb);	} else {		/* Fragmented */		BT_DBG("%s frag %p len %d", hdev->name, skb, skb->len);		skb_shinfo(skb)->frag_list = NULL;		/* Queue all fragments atomically */		spin_lock_bh(&conn->data_q.lock);		__skb_queue_tail(&conn->data_q, skb);		do {			skb = list; list = list->next;						skb->dev = (void *) hdev;			skb->pkt_type = HCI_ACLDATA_PKT;			hci_add_acl_hdr(skb, conn->handle, flags | ACL_CONT);			BT_DBG("%s frag %p len %d", hdev->name, skb, skb->len);			__skb_queue_tail(&conn->data_q, skb);		} while (list);		spin_unlock_bh(&conn->data_q.lock);	}	hci_sched_tx(hdev);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0d48d93947dd9ea21c5cdc76a8581b06a4a39281/hci_core.c/clean/net/bluetooth/hci_core.c