static int hci_uart_tty_open(struct tty_struct *tty){	struct hci_uart *hu = (void *) tty->disc_data;	BT_DBG("tty %p", tty);	if (hu)		return -EEXIST;	if (!(hu = kmalloc(sizeof(struct hci_uart), GFP_KERNEL))) {		BT_ERR("Can't allocate controll structure");		return -ENFILE;	}	memset(hu, 0, sizeof(struct hci_uart));	tty->disc_data = hu;	hu->tty = tty;	spin_lock_init(&hu->rx_lock);	/* Flush any pending characters in the driver and line discipline. */	/* FIXME: why is this needed. Note don't use ldisc_ref here as the	   open path is before the ldisc is referencable */	if (tty->ldisc.flush_buffer)		tty->ldisc.flush_buffer(tty);	if (tty->driver->flush_buffer)		tty->driver->flush_buffer(tty);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0372a6627f862f90a2c43772befeecef508cfd7b/hci_ldisc.c/clean/drivers/bluetooth/hci_ldisc.c