static void sx_hangup(struct tty_struct * tty){	struct specialix_port *port = (struct specialix_port *)tty->driver_data;	struct specialix_board *bp;	unsigned long flags;	func_enter();	if (sx_paranoia_check(port, tty->name, "sx_hangup")) {		func_exit();		return;	}		bp = port_Board(port);		sx_shutdown_port(bp, port);	spin_lock_irqsave(&port->lock, flags);	port->event = 0;	bp->count -= port->count;	if (bp->count < 0) {		printk(KERN_ERR "sx%d: sx_hangup: bad board count: %d port: %d\n",			board_No(bp), bp->count, tty->index);		bp->count = 0;	}	port->count = 0;	port->flags &= ~ASYNC_NORMAL_ACTIVE;	port->tty = NULL;	spin_unlock_irqrestore(&port->lock, flags);	wake_up_interruptible(&port->open_wait);	func_exit();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d61780c0d384939ef31c46b47442854d5def4623/specialix.c/buggy/drivers/char/specialix.c