if ((lsr & port->ignore_status_mask) == 0) tty_insert_flip_char(tty, ch, flag); if ((lsr & UART_LSR_OE) && (tty->flip.count < TTY_FLIPBUF_SIZE)) tty_insert_flip_char(tty, 0, TTY_OVERRUN); 
 uart_insert_char(port, lsr, UART_LSR_OE, ch, flag); 
static inline void receive_chars(struct uart_port *port, uint8_t *status,                                 struct pt_regs *regs){	struct tty_struct *tty;	uint8_t lsr, ch;	char flag;	int max_count = RX_MAX_COUNT;	tty = port->info->tty;	lsr = *status;	do {		if (unlikely(tty->flip.count >= TTY_FLIPBUF_SIZE)) {			if (tty->low_latency)				tty_flip_buffer_push(tty);		}		ch = siu_read(port, UART_RX);		port->icount.rx++;		flag = TTY_NORMAL;#ifdef CONFIG_SERIAL_VR41XX_CONSOLE		lsr |= lsr_break_flag[port->line];		lsr_break_flag[port->line] = 0;#endif		if (unlikely(lsr & (UART_LSR_BI | UART_LSR_FE |		                    UART_LSR_PE | UART_LSR_OE))) {			if (lsr & UART_LSR_BI) {				lsr &= ~(UART_LSR_FE | UART_LSR_PE);				port->icount.brk++;				if (uart_handle_break(port))					goto ignore_char;			}			if (lsr & UART_LSR_FE)				port->icount.frame++;			if (lsr & UART_LSR_PE)				port->icount.parity++;			if (lsr & UART_LSR_OE)				port->icount.overrun++;			lsr &= port->read_status_mask;			if (lsr & UART_LSR_BI)				flag = TTY_BREAK;			if (lsr & UART_LSR_FE)				flag = TTY_FRAME;			if (lsr & UART_LSR_PE)				flag = TTY_PARITY;		}		if (uart_handle_sysrq_char(port, ch, regs))			goto ignore_char;		if ((lsr & port->ignore_status_mask) == 0)			tty_insert_flip_char(tty, ch, flag);		if ((lsr & UART_LSR_OE) && (tty->flip.count < TTY_FLIPBUF_SIZE))			tty_insert_flip_char(tty, 0, TTY_OVERRUN);	ignore_char:		lsr = siu_read(port, UART_LSR);	} while ((lsr & UART_LSR_DR) && (max_count-- > 0));	tty_flip_buffer_push(tty);	*status = lsr;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/05ab3014636ff60a319d37cdf37dca594b015eec/vr41xx_siu.c/buggy/drivers/serial/vr41xx_siu.c