/* Stop any pending DMA operation, aborting the DMA if neccessary  */
static void initio_stop_bm(struct initio_host *host)
/* Stop any pending DMA operation, aborting the DMA if neccessary  */
static void initio_stop_bm(struct initio_host *host)
{
	if (inb(host->addr + TUL_XStatus) & XPEND) {
		outb(TAX_X_ABT | TAX_X_CLR_FIFO, host->addr + TUL_XCmd);
		while ((inb(host->addr + TUL_Int) & XABT) == 0)
			cpu_relax();
	}
	outb(TSC_FLUSH_FIFO, host->addr + TUL_SCtrl0);
}