static inline int sx_get_serial_info(struct specialix_port * port,				     struct serial_struct __user *retinfo){	struct serial_struct tmp;	struct specialix_board *bp = port_Board(port);		func_enter();	/*	if (!access_ok(VERIFY_WRITE, (void *) retinfo, sizeof(tmp)))		return -EFAULT;	*/	memset(&tmp, 0, sizeof(tmp));	tmp.type = PORT_CIRRUS;	tmp.line = port - sx_port;	tmp.port = bp->base;	tmp.irq  = bp->irq;	tmp.flags = port->flags;	tmp.baud_base = (SX_OSCFREQ + CD186x_TPC/2) / CD186x_TPC;	tmp.close_delay = port->close_delay * HZ/100;	tmp.closing_wait = port->closing_wait * HZ/100;	tmp.custom_divisor =  port->custom_divisor;	tmp.xmit_fifo_size = CD186x_NFIFO;	if (copy_to_user(retinfo, &tmp, sizeof(tmp))) {		func_exit();		return -EFAULT;	}	func_exit();	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d61780c0d384939ef31c46b47442854d5def4623/specialix.c/buggy/drivers/char/specialix.c