void sxfrp(ULONG p_port, UCHAR p_card) #endif 
static void FPT_sxfrp(ULONG p_port, UCHAR p_card) 
void sxfrp(ULONG p_port, UCHAR p_card)#endif{   UCHAR curr_phz;   DISABLE_AUTO(p_port);   if (BL_Card[p_card].globalFlags & F_HOST_XFER_ACT) {      hostDataXferAbort(p_port,p_card,BL_Card[p_card].currentSCCB);      }   /* If the Automation handled the end of the transfer then do not      match the phase or we will get out of sync with the ISR.       */   if (RDW_HARPOON((p_port+hp_intstat)) & (BUS_FREE | XFER_CNT_0 | AUTO_INT))      return;   WR_HARPOON(p_port+hp_xfercnt_0, 0x00);   curr_phz = RD_HARPOON(p_port+hp_scsisig) & (UCHAR)S_SCSI_PHZ;   WRW_HARPOON((p_port+hp_intstat), XFER_CNT_0);   WR_HARPOON(p_port+hp_scsisig, curr_phz);   while ( !(RDW_HARPOON((p_port+hp_intstat)) & (BUS_FREE | RESET)) &&      (curr_phz == (RD_HARPOON(p_port+hp_scsisig) & (UCHAR)S_SCSI_PHZ)) )      {      if (curr_phz & (UCHAR)SCSI_IOBIT)         {      	WR_HARPOON(p_port+hp_portctrl_0, (SCSI_PORT | HOST_PORT | SCSI_INBIT));	      if (!(RD_HARPOON(p_port+hp_xferstat) & FIFO_EMPTY))            {	         RD_HARPOON(p_port+hp_fifodata_0);	         }	      }      else         {      	WR_HARPOON(p_port+hp_portctrl_0, (SCSI_PORT | HOST_PORT | HOST_WRT));   	   if (RD_HARPOON(p_port+hp_xferstat) & FIFO_EMPTY)            {	         WR_HARPOON(p_port+hp_fifodata_0,0xFA);	         }	      }      } /* End of While loop for padding data I/O phase */      while ( !(RDW_HARPOON((p_port+hp_intstat)) & (BUS_FREE | RESET)))         {         if (RD_HARPOON(p_port+hp_scsisig) & SCSI_REQ)      	   break;         }      WR_HARPOON(p_port+hp_portctrl_0, (SCSI_PORT | HOST_PORT | SCSI_INBIT));      while (!(RD_HARPOON(p_port+hp_xferstat) & FIFO_EMPTY))         {         RD_HARPOON(p_port+hp_fifodata_0);         }      if ( !(RDW_HARPOON((p_port+hp_intstat)) & (BUS_FREE | RESET)))         {         WR_HARPOON(p_port+hp_autostart_0, (AUTO_IMMED+DISCONNECT_START));         while (!(RDW_HARPOON((p_port+hp_intstat)) & AUTO_INT)) {}         if (RDW_HARPOON((p_port+hp_intstat)) & (ICMD_COMP | ITAR_DISC))   	   while (!(RDW_HARPOON((p_port+hp_intstat)) & (BUS_FREE | RSEL))) ;         }}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/47b5d69c4aa753fcfc9b2b8d28c0660a1e25c129/FlashPoint.c/buggy/drivers/scsi/FlashPoint.c