hci_uart_tx_complete(hu, skb->pkt_type); 
hci_uart_tx_complete(hu, bt_cb(skb)->pkt_type); 
int hci_uart_tx_wakeup(struct hci_uart *hu){	struct tty_struct *tty = hu->tty;	struct hci_dev *hdev = hu->hdev;	struct sk_buff *skb;		if (test_and_set_bit(HCI_UART_SENDING, &hu->tx_state)) {		set_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);		return 0;	}	BT_DBG("");restart:	clear_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);	while ((skb = hci_uart_dequeue(hu))) {		int len;			set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);		len = tty->driver->write(tty, skb->data, skb->len);		hdev->stat.byte_tx += len;		skb_pull(skb, len);		if (skb->len) {			hu->tx_skb = skb;			break;		}			hci_uart_tx_complete(hu, skb->pkt_type);		kfree_skb(skb);	} 		if (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state))		goto restart;	clear_bit(HCI_UART_SENDING, &hu->tx_state);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0d48d93947dd9ea21c5cdc76a8581b06a4a39281/hci_ldisc.c/clean/drivers/bluetooth/hci_ldisc.c