/* This function is used to handle ports that do not have an interrupt. This doesn't work very well for 16450's, but gives barely passable results for a 16550A. (Although at the expense of much CPU overhead).  */
static void serial8250_timeout(unsigned long data)
/* This function is used to handle ports that do not have an interrupt. This doesn't work very well for 16450's, but gives barely passable results for a 16550A. (Although at the expense of much CPU overhead).  */
static void serial8250_timeout(unsigned long data)
{
	struct uart_8250_port *up = (struct uart_8250_port *)data;
	unsigned int iir;
	iir = serial_in(up, UART_IIR);
	if (!(iir & UART_IIR_NO_INT))
		serial8250_handle_port(up);
	mod_timer(&up->timer, jiffies + poll_timeout(up->port.timeout));
}