if (xfer->delay != 0) delay (1000 * xfer->delay);
if (xfer->delay != 0) { delay (1000 * xfer->delay); idx += 1000 * xfer->delay; }
wdc_atapi_the_poll_machine(chp, xfer)	struct channel_softc *chp;	struct wdc_xfer *xfer;	{	int  idx = 0, ret;	int  current_timeout = 10;	xfer->timeout = -1;	while (1) {		idx++;		xfer->timeout = -1;		xfer->delay = 0;		xfer->expect_irq = 0;		ret = (xfer->next)(chp, xfer, (current_timeout * 1000 <= idx));		if (xfer->timeout != -1) {			current_timeout = xfer->timeout;			idx = 0;		}		if (xfer->delay != 0) delay (1000 * xfer->delay);		switch (ret) {		case GOTO_NEXT:			break;				        case CONTINUE_POLL:			DELAY(1);			break;		case DONE:			wdc_free_xfer(chp, xfer);			wdcstart(chp);			return (0);		}	}}