request_count = TTY_FLIPBUF_SIZE - tty->flip.count - 1; 
if (request_count > TTY_FLIPBUF_SIZE - tty->flip.count) request_count = TTY_FLIPBUF_SIZE - tty->flip.count; 
static void receive_chars(struct uart_port *the_port){	struct tty_struct *tty;	unsigned char ch[IOC4_MAX_CHARS];	int read_count, request_count;	struct uart_icount *icount;	struct uart_info *info = the_port->info;	/* Make sure all the pointers are "good" ones */	if (!info)		return;	if (!info->tty)		return;	tty = info->tty;	request_count = TTY_FLIPBUF_SIZE - tty->flip.count - 1;	if (request_count > 0) {		if (request_count > IOC4_MAX_CHARS - 2)			request_count = IOC4_MAX_CHARS - 2;		icount = &the_port->icount;		read_count = do_read(the_port, ch, request_count);		if (read_count > 0) {			memcpy(tty->flip.char_buf_ptr, ch, read_count);			memset(tty->flip.flag_buf_ptr, TTY_NORMAL, read_count);			tty->flip.char_buf_ptr += read_count;			tty->flip.flag_buf_ptr += read_count;			tty->flip.count += read_count;			icount->rx += read_count;		}	}	tty_flip_buffer_push(tty);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/396dc44bcac58f464b7b23c345052e37881cccea/ioc4_serial.c/clean/drivers/serial/ioc4_serial.c