if (!(info->flags & UIF_INITIALIZED)) return; 
/* * Set the TTY IO error marker */ if (info->tty) set_bit(TTY_IO_ERROR, &info->tty->flags);  if (info->flags & UIF_INITIALIZED) { info->flags &= ~UIF_INITIALIZED;  /* * Turn off DTR and RTS early. */ if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);  /* * clear delta_msr_wait queue to avoid mem leaks: we may free * the irq here so the queue might never be woken up.  Note * that we won't end up waiting on delta_msr_wait again since * any outstanding file descriptors should be pointing at * hung_up_tty_fops now. */ wake_up_interruptible(&info->delta_msr_wait);  /* * Free the IRQ and disable the port. */ port->ops->shutdown(port);  /* * Ensure that the IRQ handler isn't running on another CPU. */ synchronize_irq(port->irq); } 
static void uart_shutdown(struct uart_state *state){	struct uart_info *info = state->info;	struct uart_port *port = state->port;	if (!(info->flags & UIF_INITIALIZED))		return;	/*	 * Turn off DTR and RTS early.	 */	if (!info->tty || (info->tty->termios->c_cflag & HUPCL))		uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);	/*	 * clear delta_msr_wait queue to avoid mem leaks: we may free	 * the irq here so the queue might never be woken up.  Note	 * that we won't end up waiting on delta_msr_wait again since	 * any outstanding file descriptors should be pointing at	 * hung_up_tty_fops now.	 */	wake_up_interruptible(&info->delta_msr_wait);	/*	 * Free the IRQ and disable the port.	 */	port->ops->shutdown(port);	/*	 * Ensure that the IRQ handler isn't running on another CPU.	 */	synchronize_irq(port->irq);	/*	 * Free the transmit buffer page.	 */	if (info->xmit.buf) {		free_page((unsigned long)info->xmit.buf);		info->xmit.buf = NULL;	}	/*	 * kill off our tasklet	 */	tasklet_kill(&info->tlet);	if (info->tty)		set_bit(TTY_IO_ERROR, &info->tty->flags);	info->flags &= ~UIF_INITIALIZED;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ee31b337852ca8a65840702544ff5c64d37740f5/serial_core.c/clean/drivers/serial/serial_core.c