- Reset DMA channel if error occured

- Initialize info field in bcm_dma_reset

Submitted by:	Daisuke Aoyama <aoyama@peach.ne.jp>
This commit is contained in:
gonzo 2013-03-05 20:00:11 +00:00
parent b3ca7007e7
commit 161f82b0bd

View File

@ -199,6 +199,7 @@ bcm_dma_reset(device_t dev, int ch)
/* Reset control block */
cb = sc->sc_dma_ch[ch].cb;
bzero(cb, sizeof(cb));
cb->info = INFO_WAIT_RESP;
}
static int
@ -615,6 +616,7 @@ bcm_dma_intr(void *arg)
debug & DEBUG_ERROR_MASK, ch->ch);
bus_write_4(sc->sc_mem, BCM_DMA_DEBUG(ch->ch),
debug & DEBUG_ERROR_MASK);
bcm_dma_reset(sc->sc_dev, ch->ch);
}
if (cs & CS_INT) {