else if (iha_push_sense_request(sc, pScb) == 0)
else if (iha_push_sense_request(sc, pScb) != 0)  pScb->SCB_HaStat = HOST_BAD_PHAS; else
iha_main(sc, iot, ioh)	struct iha_softc  *sc;	bus_space_tag_t	   iot;	bus_space_handle_t ioh;{	struct iha_scsi_req_q *pScb;	for (;;) {iha_scsi_label:		iha_scsi(sc, iot, ioh);		while ((pScb = iha_pop_done_scb(sc)) != NULL) {			switch (pScb->SCB_TaStat) {			case SCSI_TERMINATED:			case SCSI_ACA_ACTIVE:			case SCSI_CHECK:				pScb->SCB_Tcs->TCS_Flags &= 				    ~(FLAG_SYNC_DONE | FLAG_WIDE_DONE);				if ((pScb->SCB_Flags & FLAG_RSENS) != 0)					/* Check condition on check condition*/					pScb->SCB_HaStat = HOST_BAD_PHAS;				else if (iha_push_sense_request(sc, pScb) == 0)					/* REQUEST SENSE ready to process */					goto iha_scsi_label;				break;			default:				if ((pScb->SCB_Flags & FLAG_RSENS) != 0)					/*					 * Return the original SCSI_CHECK, not					 * the status of the request sense					 * command!							 */					pScb->SCB_TaStat = SCSI_CHECK;				break;			}			iha_done_scb(sc, pScb);		}		/*		 * If there are no interrupts pending, or we can't start		 * a pending sc, break out of the for(;;). Otherwise		 * continue the good work with another call to		 * iha_scsi().		 */		if (((bus_space_read_1(iot, ioh, TUL_STAT0) & INTPD) == 0) 		    && (iha_find_pend_scb(sc) == NULL))			break;	}}