BUG_ON(target != (cmd->device->id & 0xf)); 
BUG_ON(target != (scmd_id(cmd) & 0xf)); 
static void ncr_setsync (struct ncb *np, struct ccb *cp, u_char scntl3, u_char sxfer){	struct scsi_cmnd *cmd = cp->cmd;	struct tcb *tp;	u_char target = INB (nc_sdid) & 0x0f;	u_char idiv;	BUG_ON(target != (cmd->device->id & 0xf));	tp = &np->target[target];	if (!scntl3 || !(sxfer & 0x1f))		scntl3 = np->rv_scntl3;	scntl3 = (scntl3 & 0xf0) | (tp->wval & EWS) | (np->rv_scntl3 & 0x07);	/*	**	Deduce the value of controller sync period from scntl3.	**	period is in tenths of nano-seconds.	*/	idiv = ((scntl3 >> 4) & 0x7);	if ((sxfer & 0x1f) && idiv)		tp->period = (((sxfer>>5)+4)*div_10M[idiv-1])/np->clock_khz;	else		tp->period = 0xffff;	/* Stop there if sync parameters are unchanged */	if (tp->sval == sxfer && tp->wval == scntl3)		return;	tp->sval = sxfer;	tp->wval = scntl3;	if (sxfer & 0x01f) {		/* Disable extended Sreq/Sack filtering */		if (tp->period <= 2000)			OUTOFFB(nc_stest2, EXT);	} 	spi_display_xfer_agreement(tp->starget);	/*	**	set actual value and sync_status	**	patch ALL ccbs of this target.	*/	ncr_set_sync_wide_status(np, target);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/422c0d61d591cbfb70f029e13505fb437e169d68/ncr53c8xx.c/buggy/drivers/scsi/ncr53c8xx.c