if ((status & port->ignore_status_mask & ~UTSR1_TO_SM(UTSR1_ROR)) == 0) tty_insert_flip_char(tty, ch, flg); if (status & ~port->ignore_status_mask & UTSR1_TO_SM(UTSR1_ROR)) tty_insert_flip_char(tty, 0, TTY_OVERRUN); 
uart_insert_char(&sport->port, status, UTSR1_TO_SM(UTSR1_ROR), ch, flg); 
sa1100_rx_chars(struct sa1100_port *sport, struct pt_regs *regs){	struct tty_struct *tty = sport->port.info->tty;	unsigned int status, ch, flg, ignored = 0;	status = UTSR1_TO_SM(UART_GET_UTSR1(sport)) |		 UTSR0_TO_SM(UART_GET_UTSR0(sport));	while (status & UTSR1_TO_SM(UTSR1_RNE)) {		ch = UART_GET_CHAR(sport);		if (tty->flip.count >= TTY_FLIPBUF_SIZE)			goto ignore_char;		sport->port.icount.rx++;		flg = TTY_NORMAL;		/*		 * note that the error handling code is		 * out of the main execution path		 */		if (status & UTSR1_TO_SM(UTSR1_PRE | UTSR1_FRE | UTSR1_ROR)) {			if (status & UTSR1_TO_SM(UTSR1_PRE))				sport->port.icount.parity++;			else if (status & UTSR1_TO_SM(UTSR1_FRE))				sport->port.icount.frame++;			if (status & UTSR1_TO_SM(UTSR1_ROR))				sport->port.icount.overrun++;			status &= sport->port.read_status_mask;			if (status & UTSR1_TO_SM(UTSR1_PRE))				flg = TTY_PARITY;			else if (status & UTSR1_TO_SM(UTSR1_FRE))				flg = TTY_FRAME;#ifdef SUPPORT_SYSRQ			sport->port.sysrq = 0;#endif		}		if (uart_handle_sysrq_char(&sport->port, ch, regs))			goto ignore_char;		if ((status & port->ignore_status_mask & ~UTSR1_TO_SM(UTSR1_ROR)) == 0)			tty_insert_flip_char(tty, ch, flg);		if (status & ~port->ignore_status_mask & UTSR1_TO_SM(UTSR1_ROR))			tty_insert_flip_char(tty, 0, TTY_OVERRUN);	ignore_char:		status = UTSR1_TO_SM(UART_GET_UTSR1(sport)) |			 UTSR0_TO_SM(UART_GET_UTSR0(sport));	}	tty_flip_buffer_push(tty);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/05ab3014636ff60a319d37cdf37dca594b015eec/sa1100.c/clean/drivers/serial/sa1100.c