wait_event_interruptible(serport->wait, !serport->serio->id.type);
wait_event_interruptible(serport->wait, test_bit(SERPORT_DEAD, &serport->flags));
static ssize_t serport_ldisc_read(struct tty_struct * tty, struct file * file, unsigned char __user * buf, size_t nr){	struct serport *serport = (struct serport*) tty->disc_data;	char name[64];	if (test_and_set_bit(SERPORT_BUSY, &serport->flags))		return -EBUSY;	serio_register_port(serport->serio);	printk(KERN_INFO "serio: Serial port %s\n", tty_name(tty, name));	wait_event_interruptible(serport->wait, !serport->serio->id.type);	serio_unregister_port(serport->serio);	clear_bit(SERPORT_BUSY, &serport->flags);	return 0;}