if (data & RxError) {	/* Quick check, short-circuit */ 
if (unlikely(data & RxError)) {	/* Quick check, short-circuit */ 
lh7a40xuart_rx_chars (struct uart_port* port)#endif{	struct tty_struct* tty = port->info->tty;	int cbRxMax = 256;	/* (Gross) limit on receive */	unsigned int data, flag;/* Received data and status */	while (!(UR (port, UART_R_STATUS) & nRxRdy) && --cbRxMax) {		if (tty->flip.count >= TTY_FLIPBUF_SIZE) {			if (tty->low_latency)				tty_flip_buffer_push(tty);			/*			 * If this failed then we will throw away the			 * bytes but must do so to clear interrupts			 */		}		data = UR (port, UART_R_DATA);		flag = TTY_NORMAL;		++port->icount.rx;		if (data & RxError) {	/* Quick check, short-circuit */			if (data & RxBreak) {				data &= ~(RxFramingError | RxParityError);				++port->icount.brk;				if (uart_handle_break (port))					continue;			}			else if (data & RxParityError)				++port->icount.parity;			else if (data & RxFramingError)				++port->icount.frame;			if (data & RxOverrunError)				++port->icount.overrun;				/* Mask by termios, leave Rx'd byte */			data &= port->read_status_mask | 0xff;			if (data & RxBreak)				flag = TTY_BREAK;			else if (data & RxParityError)				flag = TTY_PARITY;			else if (data & RxFramingError)				flag = TTY_FRAME;		}		if (uart_handle_sysrq_char (port, (unsigned char) data, regs))			continue;		if ((data & port->ignore_status_mask) == 0) {			tty_insert_flip_char(tty, data, flag);		}		if ((data & RxOverrunError)		    && tty->flip.count < TTY_FLIPBUF_SIZE) {			/*			 * Overrun is special, since it's reported			 * immediately, and doesn't affect the current			 * character			 */			tty_insert_flip_char(tty, 0, TTY_OVERRUN);		}	}	tty_flip_buffer_push (tty);	return;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/45849282bfd7543253761cbf7db96151b05e5ed1/serial_lh7a40x.c/buggy/drivers/serial/serial_lh7a40x.c