sxfrp(port,p_card); 
FPT_sxfrp(port,p_card); 
void phaseMsgOut(ULONG port, UCHAR p_card)#endif#endif{	UCHAR message,scsiID;	PSCCB currSCCB;	PSCCBMgr_tar_info currTar_Info;	currSCCB = BL_Card[p_card].currentSCCB;	if (currSCCB != NULL) {		message = currSCCB->Sccb_scsimsg;		scsiID = currSCCB->TargID;		if (message == SMDEV_RESET) 		{			currTar_Info = &sccbMgrTbl[p_card][scsiID];			currTar_Info->TarSyncCtrl = 0;			sssyncv(port, scsiID, NARROW_SCSI,currTar_Info);			if (sccbMgrTbl[p_card][scsiID].TarEEValue & EE_SYNC_MASK) 			{				sccbMgrTbl[p_card][scsiID].TarStatus &= ~TAR_SYNC_MASK;			}			if (sccbMgrTbl[p_card][scsiID].TarEEValue & EE_WIDE_SCSI) 			{				sccbMgrTbl[p_card][scsiID].TarStatus &= ~TAR_WIDE_MASK;			}			queueFlushSccb(p_card,SCCB_COMPLETE);			SccbMgrTableInitTarget(p_card,scsiID);		}		else if (currSCCB->Sccb_scsistat == ABORT_ST)		{			currSCCB->HostStatus = SCCB_COMPLETE;			if(BL_Card[p_card].discQ_Tbl[currSCCB->Sccb_tag] != NULL)			{				BL_Card[p_card].discQ_Tbl[currSCCB->Sccb_tag] = NULL;				sccbMgrTbl[p_card][scsiID].TarTagQ_Cnt--;			}							}		else if (currSCCB->Sccb_scsistat < COMMAND_ST) 		{			if(message == SMNO_OP)			{				currSCCB->Sccb_MGRFlags |= F_DEV_SELECTED;						ssel(port,p_card);				return;			}		}		else 		{			if (message == SMABORT)				queueFlushSccb(p_card,SCCB_COMPLETE);		}	}	else 	{		message = SMABORT;	}	WRW_HARPOON((port+hp_intstat), (BUS_FREE | PHASE | XFER_CNT_0));	WR_HARPOON(port+hp_portctrl_0, SCSI_BUS_EN);	WR_HARPOON(port+hp_scsidata_0,message);	WR_HARPOON(port+hp_scsisig, (SCSI_ACK + S_ILL_PH));	ACCEPT_MSG(port);	WR_HARPOON(port+hp_portctrl_0, 0x00);	if ((message == SMABORT) || (message == SMDEV_RESET) || 				(message == SMABORT_TAG) ) 	{		while(!(RDW_HARPOON((port+hp_intstat)) & (BUS_FREE | PHASE))) {}		if (RDW_HARPOON((port+hp_intstat)) & BUS_FREE) 		{			WRW_HARPOON((port+hp_intstat), BUS_FREE);			if (currSCCB != NULL) 			{				if((BL_Card[p_card].globalFlags & F_CONLUN_IO) &&					((sccbMgrTbl[p_card][currSCCB->TargID].TarStatus & TAR_TAG_Q_MASK) != TAG_Q_TRYING))					sccbMgrTbl[p_card][currSCCB->TargID].TarLUNBusy[currSCCB->Lun] = FALSE;				else					sccbMgrTbl[p_card][currSCCB->TargID].TarLUNBusy[0] = FALSE;				queueCmdComplete(&BL_Card[p_card],currSCCB, p_card);			}			else 			{				BL_Card[p_card].globalFlags |= F_NEW_SCCB_CMD;			}		}		else 		{			sxfrp(port,p_card);		}	}	else 	{		if(message == SMPARITY)		{			currSCCB->Sccb_scsimsg = SMNO_OP;			WR_HARPOON(port+hp_autostart_1, (AUTO_IMMED+DISCONNECT_START));		}		else		{			sxfrp(port,p_card);		}	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/47b5d69c4aa753fcfc9b2b8d28c0660a1e25c129/FlashPoint.c/buggy/drivers/scsi/FlashPoint.c