fifocnt = sc->vbase[CD2400_RFOC];
fifocnt = sc->cl_reg->cl_rfoc;
cl_rxintr(sc)	struct clsoftc *sc;{	u_char rir, channel, licr, risrl;	u_char c;	u_char fifocnt;	struct tty *tp;	int i;	u_char reoir;		rir = sc->vbase[CD2400_RIR];	if ((rir & 0x40) == 0x0) {		/* only if intr is not shared ??? */		printf("cl_rxintr extra intr\n");		return (0);	}	sc->sc_rxintrcnt.ev_count++;	channel = rir & 0x3;	licr = sc->vbase[CD2400_LICR];	reoir = 0x08;	sc->sc_cl[channel].rxcnt ++;	switch (licr & 0x03) {	case CL_DMAMODE:		reoir = 0x08;		break;	case CL_INTRMODE:		risrl = sc->vbase[CD2400_RISRl];		if (risrl & 0x80) {			/* timeout, no characters */			reoir = 0x08;		} else		/* We don't need no sinkin special characters */		if (risrl & 0x08) {			cl_overflow (sc, channel, &sc->sc_fotime, "fifo");			reoir = 0x08;		} else		if (risrl & 0x04) {			cl_parity(sc, channel);			reoir = 0x08;		} else		if (risrl & 0x02) {			cl_frame(sc, channel);			reoir = 0x08;		} else		if (risrl & 0x01) {			cl_break(sc, channel);			reoir = 0x08;		} else {			fifocnt = sc->vbase[CD2400_RFOC];			tp = sc->sc_cl[channel].tty;			for (i = 0; i < fifocnt; i++) {				c = sc->vbase[CD2400_RDR];#if USE_BUFFER				cl_appendbuf(sc, channel, c);#else				/* does any restricitions exist on spl				 * for this call				 */				(*linesw[tp->t_line].l_rint)(c, tp);				reoir = 0x00;#endif			}		}		break;	default:		printf("cl_rxintr unknown mode %x\n", licr & 0x03);		/* we probably will go to hell quickly now */		reoir = 0x08;	}	sc->vbase[CD2400_REOIR] = reoir;	return (1);}