svn commit: r247855 - head/sys/arm/broadcom/bcm2835
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Tue Mar 5 20:00:12 UTC 2013
Author: gonzo
Date: Tue Mar 5 20:00:11 2013
New Revision: 247855
URL: http://svnweb.freebsd.org/changeset/base/247855
Log:
- Reset DMA channel if error occured
- Initialize info field in bcm_dma_reset
Submitted by: Daisuke Aoyama <aoyama at peach.ne.jp>
Modified:
head/sys/arm/broadcom/bcm2835/bcm2835_dma.c
Modified: head/sys/arm/broadcom/bcm2835/bcm2835_dma.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_dma.c Tue Mar 5 19:37:29 2013 (r247854)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_dma.c Tue Mar 5 20:00:11 2013 (r247855)
@@ -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) {
More information about the svn-src-all
mailing list