if ((xfer = chp->ch_queue->sc_xfer.tqh_first) == NULL)
if ((xfer = chp->ch_queue->sc_xfer.tqh_first) == NULL) {
wdcstart(chp)	struct channel_softc *chp;{	struct wdc_xfer *xfer;#ifdef WDC_DIAGNOSTIC	int spl1, spl2;	spl1 = splbio();	spl2 = splbio();	if (spl2 != spl1) {		printf("wdcstart: not at splbio()\n");		panic("wdcstart");	}	splx(spl2);	splx(spl1);#endif /* WDC_DIAGNOSTIC */	/* is there a xfer ? */	if ((xfer = chp->ch_queue->sc_xfer.tqh_first) == NULL)		return;	/* adjust chp, in case we have a shared queue */	chp = xfer->chp;	if ((chp->ch_flags & WDCF_ACTIVE) != 0 ) {		return; /* channel already active */	}#ifdef DIAGNOSTIC	if ((chp->ch_flags & WDCF_IRQ_WAIT) != 0)		panic("wdcstart: channel waiting for irq\n");#endif	if (chp->wdc->cap & WDC_CAPABILITY_HWLOCK)		if (!(*chp->wdc->claim_hw)(chp, 0))			return;	WDCDEBUG_PRINT(("wdcstart: xfer %p channel %d drive %d\n", xfer,	    chp->channel, xfer->drive), DEBUG_XFERS);	chp->ch_flags |= WDCF_ACTIVE;	if (chp->ch_drive[xfer->drive].drive_flags & DRIVE_RESET) {		chp->ch_drive[xfer->drive].drive_flags &= ~DRIVE_RESET;		chp->ch_drive[xfer->drive].state = 0;	}	xfer->c_start(chp, xfer);}