void falc_payload_loop(pc300_t * card, int ch, int loop_on) 
static void falc_payload_loop(pc300_t * card, int ch, int loop_on) 
void falc_payload_loop(pc300_t * card, int ch, int loop_on){	pc300ch_t *chan = (pc300ch_t *) & card->chan[ch];	pc300chconf_t *conf = (pc300chconf_t *) & chan->conf;	falc_t *pfalc = (falc_t *) & chan->falc;	void __iomem *falcbase = card->hw.falcbase;	if (loop_on) {		// EVENT_FALC_ABNORMAL		if (conf->media == IF_IFACE_T1) {			/* Disable this interrupt as it may otherwise interfere with 			 * other working boards. */			cpc_writeb(falcbase + F_REG(IMR0, ch),				   cpc_readb(falcbase + F_REG(IMR0, ch)) | IMR0_PDEN);		}		falc_disable_comm(card, ch);		// EVENT_FALC_ABNORMAL		cpc_writeb(falcbase + F_REG(FMR2, ch),			   cpc_readb(falcbase + F_REG(FMR2, ch)) | FMR2_PLB);		if (conf->media == IF_IFACE_T1) {			cpc_writeb(falcbase + F_REG(FMR4, ch),				   cpc_readb(falcbase + F_REG(FMR4, ch)) | FMR4_TM);		} else {			cpc_writeb(falcbase + F_REG(FMR5, ch),				   cpc_readb(falcbase + F_REG(FMR5, ch)) | XSP_TT0);		}		falc_open_all_timeslots(card, ch);		pfalc->loop_active = 2;	} else {		cpc_writeb(falcbase + F_REG(FMR2, ch),			   cpc_readb(falcbase + F_REG(FMR2, ch)) & ~FMR2_PLB);		if (conf->media == IF_IFACE_T1) {			cpc_writeb(falcbase + F_REG(FMR4, ch),				   cpc_readb(falcbase + F_REG(FMR4, ch)) & ~FMR4_TM);		} else {			cpc_writeb(falcbase + F_REG(FMR5, ch),				   cpc_readb(falcbase + F_REG(FMR5, ch)) & ~XSP_TT0);		}		pfalc->sync = 0;		cpc_writeb(falcbase + card->hw.cpld_reg2,			   cpc_readb(falcbase + card->hw.cpld_reg2) &			   ~(CPLD_REG2_FALC_LED2 << (2 * ch)));		pfalc->active = 0;		falc_issue_cmd(card, ch, CMDR_XRES);		pfalc->loop_active = 0;	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/7665a08928f241247afe8c76865cdbe4ef5489bf/pc300_drv.c/buggy/drivers/net/wan/pc300_drv.c