- 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:
Oleksandr Tymoshenko 2013-03-05 20:00:11 +00:00
parent 144d9d11b8
commit e9401a9e0e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=247855

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) {