if (di->flags == 0) {
if (! di->active) {
isadma_abort(chan)	int chan;{	struct dma_info *di;#ifdef ISADMA_DEBUG	if (chan < 0 || chan > 7)		panic("isadma_abort: impossible request");#endif	di = dma_info+chan;	if (di->flags == 0) {		log(LOG_ERR,"isadma_abort: no request active on %d\n",chan);		return;	}	/* mask channel */	if ((chan & 4) == 0)		outb(DMA1_SMSK, DMA37SM_SET | chan);	else		outb(DMA2_SMSK, DMA37SM_SET | (chan & 3));	isadma_unmap(di->addr, di->nbytes, 1, di->phys);	di->flags = 0;}